求救;C编程--五猴分桃哪里出了问题?

来源:百度知道 编辑:UC知道 时间:2024/07/05 14:03:08
#include<stdio.h>
main()
{
int s,p,s1,n;
for(s=1;;s++)
{
s1=s;
p=s-s/5-1;
for(n=1;n<=4;n++)
{
if(p%5!=1||p/5==0)
break;
p=p-p/5-1;
if(p%5!=1||p/5==0)
break;
}
if(n>4&&p>=4)
break;
}
printf("%d\t%d",s1,p);
}
5只猴子一起摘了1堆桃子,因为太累了,它们商量决定,先睡一觉再分。过了不知多久,1只猴子来了,它见别的猴子没来,便将这1堆桃子平均分成5份,结果多了1个,就将多的这个吃了,拿走其中的1堆。又过了不知多久,第2只猴子来了,它不知道有1个同伴已经来过,还以为自己是第1个到的呢,于是将地上的桃子堆起来,平均分成5份,发现也多了1个,同样吃了这1个,拿走其中的1堆。第3只、第4只、第5只猴子都是这样……问这5只猴子至少摘了多少个桃子?第5个猴子走后还剩下多少个桃子?
s是总桃子数,P是最后所剩桃子数

5只猴子一起摘了1堆桃子,因为太累了,它们商量决定,先睡一觉再分。过了不知多久,1只猴子来了,它见别的猴子没来,便将这1堆桃子平均分成5份,结果多了1个,就将多的这个吃了,拿走其中的1堆。又过了不知多久,第2只猴子来了,它不知道有1个同伴已经来过,还以为自己是第1个到的呢,于是将地上的桃子堆起来,平均分成5份,发现也多了1个,同样吃了这1个,拿走其中的1堆。第3只、第4只、第5只猴子都是这样……问这5只猴子至少摘了多少个桃子?第5个猴子走后还剩下多少个桃子?
#include<stdio.h>
main()
{
int s,p,s1,n;
for(s=6;;s+=5)
{
p = s1 = s;
for(n=1;n<=5;n++)
{
if(p%5!=1||p<6)
break;
p=p-1;
p -=p/5;
}
if(n>5&&p>=4)
break;
}
printf("%d\t%d",s1,p);
}
3121 1020

2496(s-1 DIV 5=624)
1996(s-1 DIV 5=499)
1596(s-1 DIV 5=399)
1276(s-1 DIV 5=319)
1020(s-1 DIV 5=255)

楼主的程序被修改成这样,答案就正确了。
不过,还是按照我的程序去写吧,相信哪个更整齐是一目了然的。
#include<stdio.h>
main()
{
int s,p,s1,n;
for(s=1;;s++)
{
s1=s;
if(s%5!=1||s/5==0)
continue;
p=s-s/5-1;

for(n=1;n<=4;n++)<