
编程高手请进!!!!!
将1~9这九个数分成3组,分别组成3个三位数,且使这3个三位数构成1:2:3的比例,试求出所有满足条件的3个三位数。(用‘一维数组’做,TurboPascal语言)...
将1~9这九个数分成3组,分别组成3个三位数,且使这3个三位数构成1:2:3的比例,
试求出所有满足条件的3个三位数。(用‘一维数组’做,Turbo Pascal语言) 展开
试求出所有满足条件的3个三位数。(用‘一维数组’做,Turbo Pascal语言) 展开
3个回答
展开全部
不用1维更方便
:var a,b,c,n:integer;
function mun(v,t:integer):integer;
var j1,j2,j3:integer;
begin
j1:=v div100;
j2:=(v-j1*100) div 10;
j3:=v-j1*100-j2*10;
if t=1 then mun:=j1+j2+j3
else mun:=j1*j2*j3;
end;
begin
for a:=1 to 3 do
for b:=1 to 9 do
for c:=1 to 9 do
begin
n:=a*100+b*10+c;
if n*3<1000 then
begin
if (mun(n,1)+mun(n*2,1)+mun(n*3,1)=45) and ((mun(n,0)*mun(n*2,0)*mun(n*3,0))=362880) then
writeln(n,' ',n*2,' ',n*3);
end;
end.
不理解的话我再加注释
:var a,b,c,n:integer;
function mun(v,t:integer):integer;
var j1,j2,j3:integer;
begin
j1:=v div100;
j2:=(v-j1*100) div 10;
j3:=v-j1*100-j2*10;
if t=1 then mun:=j1+j2+j3
else mun:=j1*j2*j3;
end;
begin
for a:=1 to 3 do
for b:=1 to 9 do
for c:=1 to 9 do
begin
n:=a*100+b*10+c;
if n*3<1000 then
begin
if (mun(n,1)+mun(n*2,1)+mun(n*3,1)=45) and ((mun(n,0)*mun(n*2,0)*mun(n*3,0))=362880) then
writeln(n,' ',n*2,' ',n*3);
end;
end.
不理解的话我再加注释
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询