c语言的简单问题 - 爱问答

(爱问答)

c语言的简单问题

五个水手在海岛上发现一堆椰子,先由第一个水手把椰子分成等量得五分,还剩一个给了猴子,自己藏起一堆。然后第二个水手把第二个水手把剩下的椰子混合在一起再分成等量的五堆,还剩下一个给了猴子,自己藏起一堆。以后第三四个水手依次按此方法处理。最后第五个水手,把剩下的椰子分成等量的五分,剩下了一个猴子。请用迭代编程计算


#include <stdio.h>int coconut(int n);void main(){ printf("y=%d ",coconut(5));}int coconut(int n)

{ int i; float x=1,y; y=5*x+1; do{  y=y*n/(n-1)+1;  i++;  if(int(y)!=y)  {   x=x+1;   y=n*x+1;   i=1;  } }while(i<n); return (int)y;}


烦请大佬看看

int total = 233;   //暂定看到的总数
int coconut(int n)
{
 //n表示第几个人
 if (n > 0)
 {
  total -= 1;    //给猴子的1个先排除
  int v = total / 5;  //除以5得到平均值
  int x = total % 5;  //取模5得到余数自己收起来
  total = total - x;  //把自己收起来的部分去掉交给下一个人
  n--;     //下一个人
  return coconut(n);  //递归调用分配函数
 }
 else
 {
  return total / 5;  //5个人结束 得出现在每个人能分到的数
 }
}

int main()
{
 printf("经过5个人平分后,每个人得到 %d 个 ",coconut(5));
    return 0;
}

 

设计相关程序代码!

相关标签:c语言

下一篇:玩游戏平板电脑推荐

上一篇:我是不是买到垃圾显卡了?

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?