五个猴子海边分桃子的C语言代码
安师大考研教育技术学及现代教育技术专业C语言程序汇编
安师大考研教育技术学/现代教育技术专业C语言程序汇编2013级现代教育技术专业陈辉编利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来08-19题目:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。
1.程序分析:2.程序源代码:#include "stdio.h"main(){int i=5;void palin(int n);printf("\40:");palin(i);printf("\n");}void palin(n)int n;{char next;if(n<=1){next=getchar();printf("\n\0:");putchar(next);}else{next=getchar();palin(n-1);putchar(next);}}利用递归方法求5!。
08-19题目:利用递归方法求5!。
1.程序分析:递归公式:fn=fn_1*4!2.程序源代码:#include "stdio.h"main(){int i;int fact();for(i=0;i<5;i++)printf("\40:%d!=%d\n",i,fact(i));}int fact(j)int j;{int sum;if(j==0)sum=1;elsesum=j*fact(j-1);return sum;}求1+2!+3!+...+20!的和08-19题目:求1+2!+3!+...+20!的和1.程序分析:此程序只是把累加变成了累乘。
2.程序源代码:main(){float n,s=0,t=1;for(n=1;n<=20;n++){t*=n;s+=t;}printf("1+2!+3!...+20!=%e\n",s);}C语言分数序列求和问题08-19题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
JAVA程序练习
【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。
程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
【程序3】题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。
例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
【程序4】题目:将一个正整数分解质因数。
例如:输入90,打印出90=2*3*3*5。
程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n <> k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
【程序5】题目:利用条件运算符的嵌套来完成此题:学习成绩> =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
【程序6】题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
/**在循环中,只要除数不等于0,用较大数除以较小的数,将小的一个数作为下一轮循环的大数,取得的余数作为下一轮循环的较小的数,如此循环直到较小的数的值为0,返回较大的数,此数即为最大公约数,最小公倍数为两数之积除以最大公约数。
* /【程序7】题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
【程序8】题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。
例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。
猴子摘桃问题c语言实现
计算海滩上原有桃子多少个
海滩上有一堆桃子,m只猴子来分。
第一只猴子把这堆桃子平均分为m份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。
第二只猴子把剩下的桃子又平均分成m份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只、第m只猴子都是这样做的,问海滩上原来最少有多少个桃子?
输入: 输入猴子个数m(3<=m<=9)
输出: 原来最少有多少个桃子
样例输入: 3
样例输出: 25
#include <stdio.h>
int monkey( int m);
void main()
{
int m;
scanf_s("%d",&m);
printf("%d",monkey(m));
}
int monkey( int m)
{
int i=0,p,num,tmp=m;
for(num=24;;num++)
{
p = num;
while(tmp )
{
if(num%m == 1)
{
num = num -num/m -1;
}
else
{
num = p;
tmp = m;
break;
}
tmp--;
if(tmp == 0)
return p;
}
}
}。
用c语言实现猴子吃桃问题
printf("最初有%d 个桃子\n", total);
return 0; }
在这个示例中,我们使用一个循环从第 9 天开始倒推,每一天的桃子数等于前一天剩下的桃 子数加 1 后乘以 2。最后,我们输出最初的桃子数。 注意,这个问题的解是唯一的,因此我们可以直接从第 9 天开始倒推,无需使用递归或其他 复杂的算法。
猴子吃桃问题是一个经典的数学问题,描述了猴子每天吃掉一半加一个桃子的规律。假设猴 子在第 10 天时只剩下 1 个桃子,问最初有多少个桃子。 下面是一个使用 C 语言实现猴子吃桃问题的示例:
cห้องสมุดไป่ตู้复制代码
#include <stdio.h>
int main() { int total = 1; // 最后一天剩下的桃子数 for (int day = 9; day >= 1; day--) { total = (total + 1) * 2; }
中国电子学会等级考试青少年编程C++三级202212
一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。
已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物。
时间限制:1000内存限制:65536输入一行,一个正整数a (a < 32768)。
输出一行,包含两个正整数,第一个是最少的动物数,第二个是最多的动物数,两个正整数用一个空格分开。
如果没有满足要求的答案,则输出两个0,中间用一个空格分开。
样例输入20样例输出5 10猴子吃桃海滩上有一堆桃子,N只猴子来分。
第一只猴子把这堆桃子平均分为N份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。
第二只猴子接着把剩下的桃子平均分成N份,又多了一个,它同样把多的一个扔入海中,拿走了一份。
第三、第四、……,第N只猴子仍是最终剩下的桃子分成N份,扔掉多了的一个,并拿走一份。
编写程序,输入猴子的数量N,输出海滩上最少的桃子数,使得每只猴子都可吃到桃子。
时间限制:3000内存限制:65536输入一个整数N。
输出输出当猴子数量为N时海滩上最少的桃子数。
结果保证在int型范围内。
样例输入2样例输出7扩号匹配问题在某个字符串(长度不超过100)中有左括号、右括号和大小写字母;规定(与常见的算数式子一样)任何一个左括号都从内到外与在它右边且距离最近的右括号匹配。
写一个程序,找到无法匹配的左括号和右括号,输出原来字符串,并在下一行标出不能匹配的括号。
不能匹配的左括号用"$"标注,不能匹配的右括号用"?"标注.时间限制:3000内存限制:65536输入输入包括多组数据,每组数据一行,包含一个字符串,只包含左右括号和大小写字母,字符串长度不超过100输出对每组输出数据,输出两行,第一行包含原始输入字符,第二行由"$","?"和空格组成,"$"和"?"表示与之对应的左括号和右括号不能匹配。
C语言程序开发经典实例
main(){int i,j,k;for(i=0;i<=3;i++){for(j=0;j<=2-i;j++)printf(" ");for(k=0;k<=2*i;k++)printf("*");printf("\n");}for(i=0;i<=2;i++){for(j=0;j<=i;j++)printf(" ");for(k=0;k<=4-2*i;k++)printf("*");printf("\n");}}==============================================================【程序24】题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
1.程序分析:请抓住分子与分母的变化规律。
2.程序源代码:main(){int n,t,number=20;float a=2,b=1,s=0;for(n=1;n<=number;n++){s=s+a/b;t=a;a=a+b;b=t;/*这部分是程序的关键,请读者猜猜t的作用*/}printf("sum is %9.6f\n",s);for(i=0;i<5;i++)printf("\40:%d!=%d\n",i,fact(i));}int fact(j)int j;{int sum;if(j==0)sum=1;elsesum=j*fact(j-1);return sum;}==============================================================【程序27】题目:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。
C++实现猴子吃桃的示例代码
C++实现猴⼦吃桃的⽰例代码题⽬详情有⼀天,某只猴⼦摘了⼀些桃⼦,当时吃了⼀半,⼜不过瘾,于是就多吃了⼀个。
以后每天如此,到第n天想吃时,发现就只剩下⼀个桃⼦。
输⼊n,表⽰到第n天剩下1个桃⼦,请计算第⼀天猴⼦摘的桃⼦数。
程序运⾏结果如下:101534要求时间限制:2000ms内存限制:32000kb输⼊格式:输⼊⼀个整数n,n>0,表⽰到第n天剩下1个桃⼦。
输出格式:⼀个整数,表⽰第1天摘的桃⼦数。
输⼊样例:10输出样例:1534个⼈思路根据题意,设想第0天是第⼀天刚摘桃⼦没吃的时候。
其实第n天发现想吃的时候只有⼀个桃⼦的时候其实是第(n-1)天吃完⼀半再减⼀个桃⼦,也就是就剩最后⼀个桃⼦了。
对于夹在中间的天数有这样规律的递推an+1 = an/2 - 1反过来也就是an = 2*an+1 + 2,这样⽤递归也就可以从第(n-1)天倒推回第0天(第⼀天刚摘桃⼦没吃的时候)的桃⼦总数。
天数总数0sum1sum/2 + 12(sum/2-1)/2 -13((sum/2-1)/2 -1)/2 - 1……下⾯代码#include <iostream>using namespace std;int main(){int Geshu(int day, int n);int n;cin>>n;cout<<Geshu(1,n-1)<<endl; //其实第n天发现想吃的时候只有⼀个桃⼦的时候return 0; //也就是第(n-1)天吃完后就剩最后⼀个桃⼦了}int Geshu(int sum, int day){if(day==0) //设想第0天是第⼀天刚摘桃⼦没吃的时候return sum;return Geshu(2*sum+2,day-1);}到此这篇关于C++实现猴⼦吃桃的⽰例代码的⽂章就介绍到这了,更多相关C++ 猴⼦吃桃内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。
JAVA编程题 (2).pdf
题目:给一个不多于 5 位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。 //使用了长整型最多输入 18 位
【程序 25】
题目:一个 5 位数,判断它是不是回文数。即 12321 是回文数,个位与万位相同,十位与千 位相同。
【程序 26】
题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继 续 判断第二个字母。
}
【程序 4】
题目:将一个正整数分解质因数。例如:输入 90,打印出 90=2*3*3*5。 程序分析:对 n 进行分解质因数,应先找到一个最小的质数 k,然后按下述步骤完成: (1)如果这个质数恰等于 n,则说明分解质因数的过程已经结束,打印出即可。 (2)如果 n <> k,但 n 能被 k 整除,则应打印出 k 的值,并用 n 除以 k 的商,作为新的正整数 你 n,重复执行第一步。 (3)如果 n 不能被 k 整除,则用 k+1 作为 k 的值,重复执行第一步。
System.out.println("请输入数字:"); Scanner scanner = new Scanner(System.in);
num=scanner.nextInt(); for(int k=2;k<=num;k++) { while(num!=k) { if(num%k==0) { System.out.print(k+"*"); num=num/k; } else { break; }
package zuoye4;
public class Gongbeishu {
public static int GONG(int x, int y) {
Java经典基础代码
Monkey_peach代码package com.sailor.game;/*** 题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩* 下的桃子吃掉一半,又多吃了一个。
以后每天早上都吃了前一天剩下的一半零一个。
到第10天早上想再吃时,见只剩下一个桃子了。
求第一天共摘了多少。
* 程序分析:采取逆向思维的方法,从后往前推断。
** @author Sailor**/public class Monkey_Peach {public static void main(String[] args) {int[] peach = new int[10];peach[9] = 1;// 下面利用的是数组和循环将每天的桃子数量都求出来了for (int i = peach.length - 1; i > 0; i--) {peach[i - 1] = 2 * (peach[i] + 1);}for (int i = 0; i < peach.length; i++) {System.out.println(peach[i]);}System.out.println("第一天的桃子数:"+getPeach_Num(10, 1));}// 利用递归的方法来求第一天的桃子数,输入参数为天数和当天的桃子数,输出为第一天桃子数public static int getPeach_Num(int day, int peach_num) {if (day == 1)return peach_num;else if (day < 1 || peach_num < 0)return 0;elsereturn getPeach_Num(day - 1, (peach_num + 1) * 2);}}package com.sailor.game;/*** 题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩* 下的桃子吃掉一半,又多吃了一个。
猴子吃桃递归算法c语言
猴子吃桃递归算法c语言猴子吃桃问题是一个很有趣的编程小案例呢。
在C语言里用递归算法来解决这个猴子吃桃的问题呀,我们先得搞清楚这个问题的逻辑。
就说有这么一只猴子,它每天都要吃桃子,而且每天吃的桃子数量都有一定的规律。
我们假设猴子在第n天早上还没吃桃子之前,有x个桃子。
那到了第n - 1天早上没吃之前呢,桃子的数量就是(x + 1) * 2个。
这就是这个问题里很关键的一个关系啦。
那我们怎么用C语言来写这个递归算法呢?我们可以先写一个函数,比如说就叫peach(int n)。
这个函数的作用就是根据给定的天数n,算出那天早上还没吃之前有多少个桃子。
#include <stdio.h>.// 这个函数就是用来计算第n天猴子没吃之前的桃子数量。
int peach(int n) {if (n == 1) {// 如果是第一天,那就只有1个桃子啦,这是题目给定的初始条件哦。
return 1;} else {// 按照我们前面说的那个逻辑关系,递归地计算桃子数量。
return (peach(n - 1) + 1) * 2;}}你看这个代码呀,是不是还挺简单的呢?当n等于1的时候,就直接返回1,因为第一天就只有1个桃子。
当n不是1的时候呢,就根据前面说的逻辑关系,调用自己(这就是递归啦),算出前一天的桃子数量,然后再按照那个计算方式算出当天的桃子数量。
在写这个代码的时候呀,一定要注意递归的终止条件,就像我们这里的n == 1就是终止条件。
要是没有这个终止条件,这个函数就会一直调用自己,那就像个无底洞一样,程序就会出错啦。
而且在理解这个递归算法的时候呢,你可以想象自己就是那只小猴子,从最后一天往前推,每天的桃子数量是怎么变化的。
这样想的话,就会觉得这个算法还挺好玩的呢。
你要是自己去运行这个代码呀,就可以在main函数里这样写:int main() {int days = 10; // 这里假设是第10天,你可以改成任何你想要的天数哦。
编程题100
程序设计基本训练题集1. 编程,统计在所输入的50个实数中有多少个正数、多少个负数、多少个零。
(不需要保存这50个数)2. 编程,输入一个10进制正整数,然后输出它所对应的八进制、十六进制数。
(不能直接用%0和%x来输出)3. 输入20个整数存入一个整型数组,输出其中能被数组中其它(只需其中一个)元素整除的那些数组元素。
4. 输入两个数组(数组元素个数自定),输出在两个数组中都出现的元素(如a[5]={2,3,4,5,6},b[6]={3,5,7,9,10,-1},则输出3、5)。
5. 输入两个数组(数组元素个数自定),输出在两个数组中不都出现的元素(如a[5]={2,3,4,5,6},b[6]={3,5,7,9,10,-1},则输出2、4、6、3、7、9、10、-1)。
6.100 ~ 50000之间有多少整数,其各位数字之和为5,分别是哪些数(例如整数1324的各位数字之和为1+3+2+4 ,等于10(不为5)),并统计满足条件的整数有多少个。
7.给定一个日期(年/月/日)计算该日期是所在年的第几天。
8. 编写函数,处理n行、n列的二维数组:将每一行的元素同除以该行上绝对值最大的元素。
9. 输入三个表示三角形三条边的实数,判是否能构成三角形,是何种三角形。
10.编写一个程序,输入月份号,输出该月份的英文名称,要求用指针数组处理。
11. 编写函数,求m行、n列的二维数组全体元素中负数的个数。
12. 编写函数,返回在一个整数组中出现次数最多的数及其出现次数。
13. 编写函数,在n个元素的一维数组中,统计比相邻元素大的数组元素个数并将统计数返回(不考虑a[0]和a[n-1]),要求以指针变量而不是数组名作参数。
14. 编写函数,在n个元素的一维数组中,找出最大值、最小值并传送到调用函数。
15. 编写函数,统计m行n列二维数组中有多少个正数、多少个负数,多少个零,并返回统计结果。
16.编写函数,输入一个数组,删除数组中的负数。
经典C源代码30例
经典C源代码30例==============================================================【程序80】题目:海滩上有一堆桃子,五只猴子来分。
第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。
第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?1.程序分析:2.程序源代码:main(){int i,m,j,k,count;for(i=4;i<10000;i+=4){ count=0;m=i;for(k=0;k<5;k++){j=i/4*5+1;i=j;if(j%4==0)count++;elsebreak;}i=m;if(count==4){printf("%d\n",count);break;}}}作者:zhlei81 2005-1-22 11:32 回复此发言--------------------------------------------------------------------------------16 回复:经典C源程序100例【程序81】题目:809*??=800*??+9*??+1 其中??代表的两位数,8*??的结果为两位数,9*??的结果为3位数。
求??代表的两位数,及809*??后的结果。
1.程序分析:2.程序源代码:output(long b,long i){ printf("\n%ld/%ld=809*%ld+%ld",b,i,i,b%i);}main(){long int a,b,i;a=809;for(i=10;i<100;i++){b=i*a+1;if(b>=1000&&b<=10000&&8*i<100&&9*i>=100)output(b,i); }}==============================================================【程序82】题目:八进制转换为十进制1.程序分析:2.程序源代码:main(){ char *p,s[6];int n;p=s;gets(p);n=0;while(*(p)!='\0'){n=n*8+*p-'0';p++;}printf("%d",n);}============================================================== 【程序83】题目:求0—7所能组成的奇数个数。
python猴分桃数学题
python猴分桃数学题猴分桃是一道经典的数学题,常用于考察逻辑思维和数学推理能力。
本文将介绍python程序实现猴分桃数学题的解法,通过编程实例来帮助读者更好地理解和应用这道题目。
猴分桃数学题的题目为:有一堆桃子,猴子们分它们。
第一只猴子把桃子分成等份,多出一个;然后把剩下的桃子都吃了。
第二只猴子把剩下的桃子又分成等份,再多出一个,然后把多出的个吃了。
以此类推,每只猴子在分桃时都按照相同的规则进行。
最后一只猴子分完后,发现自己只剩下了一个桃子。
问最初共有多少个桃子?现在,我们将使用python编程语言来解决这个问题。
首先,我们需要明确问题的解题思路。
假设最初共有n个桃子,根据题目中的描述,可以得到以下推理过程:第一只猴子分桃时,得到了(n-1)个桃子,剩下(n-1)个桃子;第二只猴子分桃时,得到了(n-1)/2个桃子,剩下(n-1)/2-1个桃子;第三只猴子分桃时,得到了(n-1)/2/2个桃子,剩下(n-1)/2/2-1个桃子;...最后一只猴子分桃时,得到了1个桃子。
根据以上推理,我们可以逆推回最初的桃子数量n。
接下来,我们将使用python代码实现这个逆推过程。
```pythondef cal_peach(n):if n == 1:return 1else:return 2 * cal_peach(n + 1) + 2# 主函数def main():n = 1while True:if cal_peach(n) == 1:breakelse:n += 1print("最初共有{}个桃子".format(n))if __name__ == '__main__':main()```运行以上代码,即可得到最初共有的桃子数量。
这里使用了递归函数`cal_peach`来计算剩下桃子的数量,通过循环不断增加n的值,直到找到满足条件cal_peach(n)等于1的n。
C语言实现的猴子吃桃问题算法解决方案
C语⾔实现的猴⼦吃桃问题算法解决⽅案
本⽂实例讲述了C语⾔实现的猴⼦吃桃问题。
分享给⼤家供⼤家参考,具体如下:
问题:
猴⼦第⼀天摘下N个桃⼦,当时就吃了⼀半,还不过瘾,就⼜吃了⼀个。
第⼆天⼜将剩下的桃⼦吃掉⼀半,⼜多吃了⼀个。
以后每天都吃前⼀天剩下的⼀半零⼀个。
到第10天在想吃的时候就剩⼀个桃⼦了,求第⼀天共摘下来多少个桃⼦?
解析:
①从最后⼀天的x=1个,倒推出前⼀天的个数x,需要注意的是表达式为x=2(x+1),⽽不是x=2x+1,注意两者之间的区别,想清楚为什么第⼆种不正确。
②将该表达式作为循环9次的循环体,并在该语句处设置断点,进⾏观察即可。
具体程序:
#include<stdio.h>
int main()
{
int i;
int x=1;
for(i=0;i<9;i++)
x = 2*(x+1);
printf("%d\n",x);
return 0;
}
程序运⾏结果为:1534.
希望本⽂所述对⼤家C语⾔程序设计有所帮助。
猴子吃桃源程序
源程序代码数组结构代码#include<stdafx.h># include<stdio.h># include<math.h>#include<stdlib.h>int pow(int b,int p){ int i,sum;if(p<0)return 0;else{for(i=1;i<=p;i++){ if(i==1)sum=b;elsesum*=b;}return sum;}}void main(){int day,tao[11]; //定义数组和下标tao[0]=0; //tao[0]赋值为tao[1]=1; //倒数第一天的桃子数为for(day=2;day<=10;day++)tao[day]=3*pow(2 ,day-1)-2; //给数组的赋值printf("最初的桃子数为%d\n",tao[10]);//输出最初的桃子数system("PAUSE");}链结构代码#include<stdafx.h>#include<stdlib.h>#include<stdio.h>#define TRUE 1#define FALSE 0#define ERROR 0#define OVERFLOW 0#define OK 1#define NULL 0typedef int Status;typedef int ElemType;struct LNode{ElemType data;LNode *next;};typedef LNode *LinkList;void InitList(LinkList &L)//构造一个空链链表{L=(LinkList)malloc(sizeof(LNode));//产生头结点,并使L指向此头结点if(!L) exit(OVERFLOW);L->next=NULL;}Status GetElem(LinkList L,int i,ElemType &e)//当第i个元素存在的时,将其值赋给e{int j=1;//计数器初值为LinkList p=L->next;//p指向第一个结点while(p&&j<i)//顺指针向后查找,直到找到p指向第i个结点{j++;p=p->next;}if(!p||j>i)return ERROR;e=p->data;return OK;}Status ListInsert(LinkList L,int i,ElemType &e)//在第i个位置之前插入元素e{int j=0;//计数器初值为LinkList s,p=L;//p指向头结点while(p&&j<i-1)//寻找第i个结点{j++;p=p->next;}if(!p||j>i-1) return 0;s=(LinkList)malloc(sizeof(LNode));//生成新的结点 s->data=e;s->next=p->next;//新结点指向原第i个结点p->next=s;//原第i-1个结点指向新结点return 1;}void main(){LinkList L;int i,e,n;InitList(L);//初始化链表for(i=1,n=1;i<10;i++){n=2*n+2;//将每一天的桃子数赋值给nListInsert(L,1,n);//将n的值输入链表}GetElem(L,1,e);printf("%d",e);//输出桃子的数目system("PAUSE");}递归结构代码#include<stdafx.h>#include<stdio.h>#include<stdlib.h>int sum_fan(int n,int i) //子函数sum_fun,参数n和i接受主函数的参数x和day{if (i>0){n = sum_fan((n+1)*2,--i); //每一次都用((n+1)*2)的值去调用子函数本身}return n; //返回结果}void main(){int sum;int day = 9; //实现函数调用的次数int x = 1; //最后一天还剩得一个桃子sum = sum_fan(x,day); //调用子函数sum_fan,并把返回得结果赋给sum printf("%d",sum);system("PAUSE");}。
海滩猴子分桃问题c#解决方法
问题陈述:海滩上有一堆桃子,五只猴子来分。
第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。
第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?C#程序代码:using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace MonkeyShare{class Program{static void Main(string[] args){Console.WriteLine("海滩上原来最少有{0}个桃子", Share());}static int Share()//返回海滩上原来最少多少桃子{int m;bool check=false ;//用于判断是否执行了五次,亦可用j==5作为判//断条件for (int i = 10; ; i++){m = i;for (int j = 0; j < 5; j++){if ((m - 1) / 5.0 - (m - 1) / 5 > 0)//判断m-1是否被//整除,亦可用(m-1)%5!=0代替 {check = false;break;}else{m = (m - 1) * 4/5; check = true;}}if (check == true){return i;}}}}}运行结果:。
C语言程序设计个例子
C语言程序设计个例子 Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】经典C语言程序设计100例1.数字排列2.奖金分配问题3.已知条件求解整数4.输入日期判断第几天5.输入整数进行排序6.用*号显示字母C的图案7.显示特殊图案8.打印九九口诀9.输出国际象棋棋盘10.打印楼梯并按条件打印笑脸11.经典兔子问题12.判断素数13.水仙花数问题14.正整数分解质因数15.学习成绩划分16.正整数求其最大公约数和最小公倍数17.统计英文字母/空格/数字个数 18.求s=a+aa+aaa+aa...a的值19.求解"完数" 20.球体自由落下物理问题21.猴子吃桃问题22.乒乓球比赛抽签问题23.打印菱形图案24.分数数列求和25.求1+2!+3!+...+20!的和26.利用递归方法求5! 27.将输入字符以相反顺序打印28.岁数问题29.求解正整数位数 30.判断回文数31.星期几猜测游戏 32.改变文本颜色33.学习gotoxy()与clrscr()函数34.练习函数调用35.设置文本颜色36.求100之内的素数37.对10个数进行排序38.求3*3矩阵对角线元素之和39.数字插入数组重新排序40.将一个数组逆序输出定义静态变量用法42.使用auto定义变量用法43.使用static的另一用法44.使用external的用法45.使用register定义变量方法46.宏#define命令练习(1) 47.宏#define命令练习(2) 48.宏#define命令练习(3)49.#if #ifdef和#ifndef的综合应用50.#include 的应用练习51.学习使用按位与 & 52.学习使用按位或 |53.学习使用按位异或 ^ 54.取一个整数从右端开始的4~7位。
55.学习使用按位取反~ 56.用circle画圆形57.学用line画直线58.用rectangle画方形59.画图综合例子60.画图综合例子261.打印杨辉三角形 62.学习putpixel画点63.画椭圆ellipse 64.利用ellipse and rectangle画图65.画个最优美的图案66.输入3个数字按大小顺序输出 67.输入数组交换元素重新输出68.多个整数后移位置问题69.圆圈报数问题70.计算一个字符串长度71.编写输入/输出函数72.创建链表73.反向输出链表74.连接两个链表75.算一道简单题目 76.调用函数求1/2+1/4+...+1/n77.填空练习(指向指针的指针) 78.找到年龄最大的人79.字符串排序80.海滩猴子分桃81.已知公式条件求数字82.八进制转换为十进制83.求0-7所能组成的奇数个数84.由两个素数之和表示的偶数85.判断一个素数能被几个9整除 86.两个字符串连接程序87.结构体变量传递88.读取数字的整数值并打印出该值个数的*89.数据加密 90.专升本一题91.时间函数举例1 92.时间函数举例2 93.时间函数举例3 94.一个猜数游戏95.家庭财务管理小程序96.计算字符串中子串出现的次数97.输入字符并保存到磁盘 98.字符串转换成大写字母并输出保存99.文件操作应用1 100.文件操作应用2--------------------------------------------------------------------------------c语言经典100题【实用】【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数都是多少1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。