递推题用PASCAL语言做
日本著名数学游戏专家中村义作教授提出这样一个问题:父亲将2520个桔子分给六个儿子。分完后父亲说:“老大将分给你的桔子的1/8给老二;老二拿到后连同原先的桔子分1/7给老...
日本著名数学游戏专家中村义作教授提出这样一个问题:父亲将2520个桔子分给六个儿子。分完后父亲说:“老大将分给你的桔子的1/8给老二;老二拿到后连同原先的桔子分1/7给老三;老三拿到后连同原先的桔子分1/6给老四;老四拿到后连同原先的桔子分1/5给老五;老五拿到后连同原先的桔子分1/4给老六;老六拿到后连同原先的桔子分1/3给老大”。结果大家手中的桔子正好一样多。问六兄弟原来手中各有多少桔子?用pascal语言做
展开
2个回答
展开全部
var b,i,j:integer;
a:array[1..6] of integer;
procedure org(x:integer);
var y:integer;
begin
y:=a[x] div (9-x-1);
a[x]:=y*(9-x);
a[x+1]:=a[x+1] - y;
end;
begin
b:=2520 div 6;
for i:=1 to 6 do a[i]:=b;
j:=a[6] div 2;
a[6]:=j*3;
a[1]:=a[1] - j;
for i:=5 downto 1 do org(i);
for i:=1 to 6 do writeln(a[i]);
readln;
end.
a:array[1..6] of integer;
procedure org(x:integer);
var y:integer;
begin
y:=a[x] div (9-x-1);
a[x]:=y*(9-x);
a[x+1]:=a[x+1] - y;
end;
begin
b:=2520 div 6;
for i:=1 to 6 do a[i]:=b;
j:=a[6] div 2;
a[6]:=j*3;
a[1]:=a[1] - j;
for i:=5 downto 1 do org(i);
for i:=1 to 6 do writeln(a[i]);
readln;
end.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询