C语言枚举问题 猴子分桃

Python026

C语言枚举问题 猴子分桃,第1张

死循环了!

if(m-1>0&&(m-1)%5==0&&(m-1)/5!=0)//判断桃子能否合题分配

这句里,之前 m=1,这里始终不能成立,if 不运行,然后就一直循环。。。。

#include <stdio.h>

void main(){

int i,s,n,k,num//定义s为最初桃子的数量;num为最初桃子数减去k

scanf("%d%d",&n,&k)

for(num=nnum<=65535num+=n)//因为可以被分成n份,num一定是n的倍数。

{ s=num+k

for(i=1i<=ni++)//i用来控制n次循环,即分n次

if(s%n==k)//判断桃子能否被分n份并余下一个,成立就开始往下分,

s=(s-k)*(n-1)/n

else

break//不成立就直接跳出,不用执行后面的循环,即分不下去了

if(i==n+1)//注意:n次循环之后,i值为n+1。既然已经分了n次,那么num就找到了

{

s=num+k

printf("海滩上原来最少有%d个桃子\n",s)

break }

}}