分西瓜一次比赛奖励一批西瓜,第一名得西瓜总数的一半加半只,第二名得剩下的西瓜的一半加半只,第三名得再次剩下的西瓜的一半加

1个回答

  • var

    n,i:integer;

    a:real;

    begin

    n:=1;{ 先假设原有西瓜数为1}

    repeat

    n:=n+1;{ 西瓜数每次加1}

    a:=n;

    for i:=1 to 3 do a:=a-a/2-1/2;{ 按递推公式将西瓜连续分三次}

    until a=0;

    writeln(n);{ 输出原西瓜总数n }

    end.

相关问题