首页 > 编程语言 >C语言-常用算法-22

C语言-常用算法-22

时间:2024-07-22 13:25:34浏览次数:14  
标签:do 五份 return sub 22 int C语言 算法 total

题目:

分鱼问题

A,B,C,D,E五个人在某天合伙去捕鱼,分鱼时,A先将鱼分为五份,把多余的一条鱼扔掉,拿走自己的一份;B第二个醒来,也将鱼分为五份,把多余的一条扔掉,拿走自己的一份;C,D,E依次醒来,也按同样的方式拿鱼,问他们至少捕了多少鱼

源代码:

#include <stdio.h>
int sub(int n)
{
    if(n == 1)
    {
        static int i = 0;
        do
        {
            i++;
        }while (i % 5 != 0);
        return(i+1);
    }
    else
    {
        int t;
        do
        {
            t = sub(n-1);
        } while (t % 4 != 0);
        return t / 4 * 5 + 1;
    }
}
int main()
{
    int total;
    total = sub(5);
    printf("总共有 %d 条鱼\n",total);
    return 0;
}

演示效果:


如果朋友你感觉文章的内容对你有帮助,可以点赞关注文章和专栏以及关注我哈,嘿嘿嘿我会定期更新文章的,谢谢朋友你的支持哈

标签:do,五份,return,sub,22,int,C语言,算法,total
From: https://blog.csdn.net/little_startoo/article/details/140437794

相关文章

  • 代码随想录算法训练营第36天 | 动态规划基础2:62.不同路径、63.不同路径 II
    62.不同路径https://leetcode.cn/problems/unique-paths/submissions/548656029/代码随想录https://programmercarl.com/0062.不同路径.html63.不同路径IIhttps://leetcode.cn/problems/unique-paths-ii/description/代码随想录https://programmercarl.com/0063.不同路径......
  • (算法)合并两个有序链表————<递归>
    1.题⽬链接:21.合并两个有序链表 2.题⽬描述: 3.解法(递归):算法思路:1.递归函数的含义:交给你两个链表的头结点,你帮我把它们合并起来,并且返回合并后的头结点;2.函数体:选择两个头结点中较⼩的结点作为最终合并后的头结点,然后将剩下的链表交给递归函数去处理;3.递归出......
  • (算法)汉诺塔————<递归>
    1.题⽬链接:329.矩阵中的最⻓递增路径 2.题⽬描述:3.解法(暴搜->记忆化搜索):算法思路:这是⼀道递归⽅法的经典题⽬,我们可以先从最简单的情况考虑:•假设n=1,只有⼀个盘⼦,很简单,直接把它从A中拿出来,移到C上;•如果n=2呢?这时候我们就要借助B了,因为⼩盘⼦必须时刻都在⼤盘......
  • 数据结构与算法从淬体到元婴day04之堆
    堆堆的定义堆是一种特殊的完全二叉树结构,其每个节点的值都遵循一定的堆属性。堆在物理上是通过数组实现的,逻辑上则表现为树形结构。堆的性质堆总是一棵完全二叉树。堆中某个节点的值总是不大于(最大堆)或不小于(最小堆)其父节点的值。将根节点最大的堆称为最大堆或大根堆,根节点......
  • 学习C语言(6)
      整理今天的学习内容1. 数组的概念数组是一组相同类型元素的集合,数组元素个数不能为02.一维数组的介绍(1)数组创建语法type  arr_name[常量值] ↑       ↑      ↑类型   数组名 指定数组大小(2)数组的初始化完全初始化:如:int ......
  • Metasploit Pro 4.22.2-2024071501 (Linux, Windows) - 专业渗透测试框架
    MetasploitPro4.22.2-2024071501(Linux,Windows)-专业渗透测试框架Rapid7Penetrationtesting,releaseJul15,2024请访问原文链接:https://sysin.org/blog/metasploit-pro-4/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org世界上最广泛使用的渗透测试框架......
  • 算法原理-Music
    应用DOA估计原理MUSIC算法,叫做多信号分类算法(MultipleSignalClassification),是一种基于特征结构的高分辨率DOA算法。该算法利用了信号子空间和噪声子空间正交性的特点,构造噪声空间然后通过谱峰搜索来检测信号的波达方向。需要注意的是,该算法有一个前提,即各个入射信号之间互......
  • C语言数组的相关案例
    引导案例:数组的遍历:这里需要注意的是我们在遍历数组时是使用for循环,这里则需要计算数组的长度计算公式:sizeof(数组名)/sizeof(数组的数据类型)#include<stdio.h>intmain(){ intarr[]={1,2,3,4,5,6,7,8,9,10}; intlength=sizeof(arr)/sizeof(int); for(i......
  • Array Sum up increment. 1526, 3229
    1526.MinimumNumberofIncrementsonSubarraystoFormaTargetArrayYouaregivenanintegerarray target.Youhaveanintegerarray initial ofthesamesizeas target withallelementsinitiallyzeros.Inoneoperationyoucanchoose any subarray......
  • PCL使用贪婪三角形算法曲面重构
    内容介绍贪婪投影三角化算法是一种对原始点云进行快速三角化的算法,该算法假设曲面光滑,点云密度变化均匀,不能在三角化的同时对曲面进行平滑和孔洞修复。方法:(1)将三维点通过法线投影到某一平面(2)对投影得到的点云作平面内的三角化(3)根据平面内三位点的拓扑连接关系获得一个......