C语言:分苹果问题

16 篇文章 1 订阅
#include<stdio.h>
int main() 
{ int n,flag,k,x,a,b,c,d,e;
n=11;//试探初值
flag=1;
while(flag)//进行试探
{ x=n;//保存当前试探值
flag=0;//清标志值
for (k=1;k<=4 && flag==0; k++)//模拟四次发放过程
if ((n+1)%(k+1)==0)  //该小孩得到的是整数个苹果
n=n-(n+1)/(k+1);//计算余下的苹果数
else flag=1;//该小孩得到的不是整数个苹果,置标志值
if (flag==0 && n!=11) 
flag=0;//每次分配都得到整数个苹果,且最后剩下11个苹果
n=x+1;//下一次的试探值
} 
printf("苹果总数=%d\n",x);//输出总的苹果数
a=(x+1)/2;//第一个小孩分到的苹果数
b=(x-a+1)/3;///第二个小孩分到的苹果数
c=(x-a-b+1)/4;//第三个小孩分到的苹果数
d=(x-a-b-c+1)/5;//第四个小孩分到的苹果数
e=11;//第五个小孩分到的苹果数
printf("A=%d\n",a);
printf("B=%d\n",b);
printf("C=%d\n",c);
printf("D=%d\n",d);
printf("E=%d\n",e);
return 0;} 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值