问题题目是这样的:A 、 B 、 C 、 D 、 E 这5个人合伙夜间捕鱼,凌晨时都已经疲惫不堪,于是各自在河边的树丛中找地方睡着了。第二天日上三竿的时候, A 第一个醒来,他将鱼平分为5份,把都余的一条扔回河里,然后拿着自己的一份回家去了。 B 第二个醒来,但不知 A 已经拿走了一份鱼,于是他仍将剩余的鱼平分为5份,扔掉多余的一条,然后只拿走了自己的一份。接着 C 、 D 、 E 依次醒来,也都按同样的办法分鱼。问这5人至少合伙捕到多少条鱼?每个人醒来后所看到的鱼是多少条?请编程模拟这个分鱼问题。
我的解题思路是:最后一个人E至少有六条鱼,上一个人就是有6*5+1条并且除E以外每个人看到的鱼条数都可以被5整除,所以我一个一个的算每个人看到的鱼条数直到每个人看到的鱼条数都可以被5整除,不然就返回让6加一继续算,到最后这时求出的就是鱼的总数。
下面是我的代码:
include < stdio . h >
int main ()
{
int i ;
int a =6;
int S ;
for ( i =1; i <=4;i++)
{
do
S=a *5+1;
while (( S -1)%5== 0);
i =1;
a = a +1;
}
printf ("% d ", S );
return 0;
}
但是我编译完运行出来没有结果,就只有一个光标在那闪,这是为什么?