水手分椰子

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
函数计算FC,每月15万CU 3个月
简介: 水手分椰子

📑前言

本文主要是【C】——C算法的文章,如果有什么需要改进的地方还请大佬指出⛺️

🎬作者简介:大家好,我是听风与他🥇
☁️博客首页:阿里云主页听风与他
🌄每日一句:狠狠沉淀,顶峰相见

水手分椰子

第一题

  • 6.5个水手在岛上发现了一堆椰子,先有第一个水手把椰子分成等量的5堆,还
    剩了1个给了猴子,自己藏起一堆。然后第2个水手把剩下的4堆混合后重新分为等量的5堆,还剩了1个给了猴子,自己藏起一堆。以后第三、四个水手依次按此方法处理。最后,第5个水手把剩下的椰子分成等量的5堆后,同样剩下1个给了猴子。请用迭代法编程计算并输出原来这堆椰子至少有多少个?
#include<stdio.h>
int main(){
   
   
    int i,m,j=0,k,count;
    for(i=4;i<10000;i+=4){
   
   
        count=0;
        m=i;//将i的值赋给m
        //分了五次椰子,所以循环5次
        for(k=0;k<5;k++){
   
   
            //因为四份肯定是均等的,在四份的基础上分成5个还多一个
            j = m/4*5+1;//  m/4 就是一份的值
            m=j; //将j的值赋给m,进行累乘处理
            if(j%4 == 0){
   
   
                count++;
            }else{
   
   
                break;
            }
        }
        //满足5次条件count=4 
        if(count==4){
   
   
            printf("原有椰子数%d个",j);
            break;
        } 
    }
}

第二题

在上题中,如果第5水手分得255个椰子,用递归的方法计算原来这堆椰子的个数。

#include<stdio.h>
int yezi(int y)
{
   
   
    int i;
    for(i=1;i<=5;i++)
    {
   
   
        if((y-1)%5!=0)
            return 0;
        y=(y-1)/5*4;
    }
    return 1;
 }
int main()
{
   
   
    int i;
    for(i=1;;i++)
    {
   
   
        if(yezi(i)==1)
        {
   
   
            printf("%d\n",i);
            break;
        }
    }
 }

📑文章末尾

image.png

相关文章
|
3月前
1062 最简分数 (20 分)
1062 最简分数 (20 分)
|
3月前
|
数据安全/隐私保护
1048 数字加密 (20 分)
1048 数字加密 (20 分)
L1-070 吃火锅 (15 分)
L1-070 吃火锅 (15 分)
133 0
L1-070 吃火锅 (15 分)
7-9 包装机 (25 分)
7-9 包装机 (25 分)
108 0
7-9 包装机 (25 分)
|
C语言 C++
L1-4 寻找250 (10 分)
对方不想和你说话,并向你扔了一串数…… 而你必须从这一串数字中找到“250”这个高大上的感人数字。
731 0
L1-4 寻找250 (10 分)
L1-043 阅览室 (20 分)
L1-043 阅览室 (20 分)
203 0
L1-059 敲笨钟 (20 分)
L1-059 敲笨钟 (20 分)
117 0
L1-047 装睡 (10 分)
L1-047 装睡 (10 分)
113 0
L1-018 大笨钟 (10 分)
L1-018 大笨钟 (10 分)
93 0
R7-9 红色警报 (25 分)
R7-9 红色警报 (25 分)
109 0