

main() { int n,j,i,t,s,l; /*n为倍数 j为余数 i为步数 t为最大携带数 s为香蕉总数 l为总路程*/ printf("请分别输入香蕉总数,离家路程,最大携带量:\n"); scanf("%d%d%d",&s,&l,&t);
while(s!=0) { j=s%t; n=s/t; i=0;
if(j>2) {for(;++i;) if(j-2*i<=i*(2*n-1)+2)break; l-=i;s-=i*(2*n+1);}
else if(j==0) {for(;++i;)if(t<=i*(2*n-1))break; if(t<i*(2*n-1))i--; l-=i;s-=i*(2*n-1);}
else s-=j; }
/*求出猴子把香蕉全部吃完能走多远 大于离家路程多少单位就是可带回的香蕉个数*/ l=-l; if(l<=0)printf("\n猴子带不回香蕉"); else printf("\n猴子最多能带回%d个香蕉",l); getch(); } 做了一下午 终于做出来了 各位看看哈
main() { int n,j,i,t,s,l; /*n为倍数 j为余数 i为步数 t为最大携带数 s为香蕉总数 l为总路程*/ printf("请分别输入香蕉总数,离家路程,最大携带量:\n"); scanf("%d%d%d",&s,&l,&t);
while(s!=0) { j=s%t; n=s/t; i=0;
if(j>2) {for(;++i;) if(j-2*i<=i*(2*n-1)+2)break; l-=i;s-=i*(2*n+1);}
else if(j==0) {for(;++i;)if(t<=i*(2*n-1))break; if(t<i*(2*n-1))i--; l-=i;s-=i*(2*n-1);}
else s-=j; }
/*求出猴子把香蕉全部吃完能走多远 大于离家路程多少单位就是可带回的香蕉个数*/ l=-l; if(l<=0)printf("\n猴子带不回香蕉"); else printf("\n猴子最多能带回%d个香蕉",l); getch(); } 做了一下午 终于做出来了 各位看看哈
晕!!这样的C程序也能想出来,,,FFFFFFFFFFFFFFFFFFFF---YOU !!!!!!!!!!!!!!!!!