c语言鱼怎么分,c语言五人分鱼

本文目录一览:

C语言函数递归解决分鱼问题

E拿鱼前至少有6

D拿鱼前至少有5*6+1

以此类推

int Fish(int n)

{ if (n==0)

return 1;

else

return 5*Fish(n-1)+1;

}

main函数调用Fish(5)

用C语言的递归解决分鱼问题

下面代码是我自己写的,看别人代码比较累,所以如果楼主愿意,可以看看下面的代码,我会尽量讲解细致一点。

#include stdio.h

//sub(manth,fishleft)参数意义:manth表示第几个人分鱼,fishleft表示他分鱼时获得了多少鱼

//函数的返回结果是第manth个人分鱼时剩余的条数,如manth = 5,fishleft = 1,则表示一共捕获了3906条鱼。

int sub(int manth,int fishleft){

if(manth == 1){

fishleft = (5*fishleft +1);

printf(“manth = %d,fishleft = %d\n”,manth,fishleft);

return fishleft;

}

fishleft = 5*sub(–manth,fishleft)+1;

printf(“manth = %d,fishleft = %d\n”,manth+1,fishleft);

return fishleft;

}

int main(void){

int manth = 5;

int fishleft = 1;

printf(“%d\n”,sub(5,1));

return 0;

}

//我得到的结果和楼主所给程序运行结果不一致!楼主可以自己计算,如果最后一个人得到的是1条鱼,则他分鱼时应该剩余6条,manth = 2时应该剩余6*5+1 = 31条,manth = 3时,应该剩余31*5+1条,最后manth= 5,也就是分鱼开始的时候,应该剩余3906条鱼。

//楼主可以用自己的程序测试,当调用sub(2)时得到的是21,而不是31,就能证明该程序应该是用问题的。

C程序,三个人钓鱼分鱼问题

fish number min is 25.

#include stdio.h

/*

甲先醒来,他将鱼篓中的鱼平均分成3分,发现多一条,就将多的这条扔回河里,拿着其中一份回家了,乙醒来,他将鱼篓中的鱼平均分成3分,

发现多一条,就将多的这条扔回河里,拿着其中一份回家了,丙醒来,他将鱼篓中的鱼平均分成3分,发现多一条,就将多的这条扔回河里,拿

着其中一份回家了,这三个人至少钓到了多少鱼?用C程序语言编译,拜托帮帮忙了

x % 3 == 1

(x -1 )*2/3 % 3 == 1

( (x -1 )*2/3 – 1)*2/3 % 3 ==1

fish number min is 25.

甲 8条 剩 16条

乙 5条 剩 10条

丙 3条

*/

int main()

{

int i;

for( i = 4;;++i)

{

if( (i % 3) == 1  ((( i-1)*2/3) % 3) ==1  ((((( i-1)*2/3)-1)*2/3) % 3) == 1)

{

printf(“fish number min is %d.\n”,i);

break;

}

}

exit(0);

}

C语言递归解决分鱼问题

#include stdio.h

#include stdlib.h

int fish(int n, int x);

/* run this program using the console pauser or add your own getch, system(“pause”) or input loop */

int main(int argc, char *argv[]) {

int i=0, flag = 0, x;

do{

i=i+1;

x=i*5+1;

if(fish(5,x))//递归判断

{

flag = 1;

//flag标识

printf(“五个人合伙捕到的鱼总数是%d\n”, x);

}

}while(!flag);

return 0;

}

int fish(int n, int x)//x表示人数,x表示醒来后剩下的鱼

{

if(x%5==1)

{

if(n==1)

return 1;

else

return fish(n-1, (x-1)/5*4);

}

return 0;

}//这里递归的作用是作为判断条件

c语言,平分七筐鱼 甲、乙、丙三位渔夫出海打鱼,他们随船带了21只箩筐.

根据提议可知:每个人应分到7个箩筐,每人各3.5筐鱼。采用3*3数组来表示三个人分到的东西。

数组的每行每列元素之和都是7;

数组行: 满筐 + 半筐 = 3.5筐;

每个人所得满筐数不会超过3筐;

每个人至少有1个半筐;

class Program

{

static void Main(string[] args)

{

int[,] fishermen = new int[3, 3];

for (int m = 1; m = 3; m++) //A

{

fishermen[0, 0] = m;

fishermen[0, 1] = (int)((3.5 – (double)m) / 0.5);

fishermen[0, 2] = 7 – fishermen[0, 1] – fishermen[0, 0];

for (int n = 1; n = 3; n++) //B

{

if (n m)

continue;

fishermen[1, 0] = n;

fishermen[1, 1] = (int)((3.5 – (double)n) / 0.5);

if (fishermen[1, 1] 0)

break;

fishermen[1, 2] = 7 – fishermen[1, 1] – fishermen[1, 0];

for (int j = 1; j = 3; j++) //C

{

if (j n || j + n + m != 7)

continue;

fishermen[2, 0] = j;

fishermen[2, 1] = (int)((3.5 – (double)j) / 0.5);

if (fishermen[2, 1] 0)

break;

fishermen[2, 2] = 7 – fishermen[2, 1] – fishermen[2, 0];

if (fishermen[2, 1] + fishermen[1, 1] + fishermen[0, 1] == 7

fishermen[2, 0] + fishermen[1, 0] + fishermen[0, 0] == 7)

{

for (int i = 0; i 3; i++)

{

Console.WriteLine(i + “:” + fishermen[i, 0] + ” ” + fishermen[i, 1] + ” ” + fishermen[i, 2]);

}

Console.WriteLine(“———————————-“);

break;

}

}

}

}

}

}

原创文章,作者:TQWX,如若转载,请注明出处:https://www.506064.com/n/135830.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
TQWXTQWX
上一篇 2024-10-04 00:15
下一篇 2024-10-04 00:15

相关推荐

  • AES加密解密算法的C语言实现

    AES(Advanced Encryption Standard)是一种对称加密算法,可用于对数据进行加密和解密。在本篇文章中,我们将介绍C语言中如何实现AES算法,并对实现过程进…

    编程 2025-04-29
  • 学习Python对学习C语言有帮助吗?

    Python和C语言是两种非常受欢迎的编程语言,在程序开发中都扮演着非常重要的角色。那么,学习Python对学习C语言有帮助吗?答案是肯定的。在本文中,我们将从多个角度探讨Pyth…

    编程 2025-04-29
  • Python被称为胶水语言

    Python作为一种跨平台的解释性高级语言,最大的特点是被称为”胶水语言”。 一、简单易学 Python的语法简单易学,更加人性化,这使得它成为了初学者的入…

    编程 2025-04-29
  • OpenJudge答案1.6的C语言实现

    本文将从多个方面详细阐述OpenJudge答案1.6在C语言中的实现方法,帮助初学者更好地学习和理解。 一、需求概述 OpenJudge答案1.6的要求是,输入两个整数a和b,输出…

    编程 2025-04-29
  • Python按位运算符和C语言

    本文将从多个方面详细阐述Python按位运算符和C语言的相关内容,并给出相应的代码示例。 一、概述 Python是一种动态的、面向对象的编程语言,其按位运算符是用于按位操作的运算符…

    编程 2025-04-29
  • Python语言由荷兰人为中心的全能编程开发工程师

    Python语言是一种高级语言,很多编程开发工程师都喜欢使用Python语言进行开发。Python语言的创始人是荷兰人Guido van Rossum,他在1989年圣诞节期间开始…

    编程 2025-04-28
  • Python语言设计基础第2版PDF

    Python语言设计基础第2版PDF是一本介绍Python编程语言的经典教材。本篇文章将从多个方面对该教材进行详细的阐述和介绍。 一、基础知识 本教材中介绍了Python编程语言的…

    编程 2025-04-28
  • Python语言实现人名最多数统计

    本文将从几个方面详细介绍Python语言实现人名最多数统计的方法和应用。 一、Python实现人名最多数统计的基础 1、首先,我们需要了解Python语言的一些基础知识,如列表、字…

    编程 2025-04-28
  • Python作为中心语言,在编程中取代C语言的优势和挑战

    Python一直以其简单易懂的语法和高效的编码环境而著名。然而,它最近的发展趋势表明Python的使用范围已经从脚本语言扩展到了从Web应用到机器学习等广泛的开发领域。与此同时,C…

    编程 2025-04-28
  • Python基础语言

    Python作为一种高级编程语言拥有简洁优雅的语法。在本文中,我们将从多个方面探究Python基础语言的特点以及使用技巧。 一、数据类型 Python基础数据类型包括整数、浮点数、…

    编程 2025-04-28

发表回复

登录后才能评论