水手分椰子

本文涉及的产品
可观测可视化 Grafana 版,10个用户账号 1个月
可观测监控 Prometheus 版,每月50GB免费额度
性能测试 PTS,5000VUM额度
简介: 水手分椰子

📑前言

本文主要是【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

相关文章
|
5月前
1071 小赌怡情 (15 分)
1071 小赌怡情 (15 分)
|
5月前
|
存储 编解码
1068 万绿丛中一点红 (20 分)
1068 万绿丛中一点红 (20 分)
|
5月前
|
数据安全/隐私保护
1048 数字加密 (20 分)
1048 数字加密 (20 分)
|
5月前
|
测试技术
1039 到底买不买 (20 分)
1039 到底买不买 (20 分)
L2-1 包装机 (25 分)
L2-1 包装机 (25 分)
150 0
L2-1 包装机 (25 分)
1002. A+B for Polynomials(25分)
1002. A+B for Polynomials(25分)
66 0
L3-011 直捣黄龙 (30 分)
L3-011 直捣黄龙 (30 分)
130 0
L1-030 一帮一 (15 分)
L1-030 一帮一 (15 分)
128 0
L1-029 是不是太胖了 (5 分)
L1-029 是不是太胖了 (5 分)
104 0
L1-043 阅览室 (20 分)
L1-043 阅览室 (20 分)
207 0