12/16 考核题目总结(1.水仙花数 2.兔子繁衍 3.杨辉三角 4.求最小公倍数 5.密码)

您所在的位置:网站首页 h是多少位字母 12/16 考核题目总结(1.水仙花数 2.兔子繁衍 3.杨辉三角 4.求最小公倍数 5.密码)

12/16 考核题目总结(1.水仙花数 2.兔子繁衍 3.杨辉三角 4.求最小公倍数 5.密码)

2023-04-23 02:58| 来源: 网络整理| 查看: 265

1、水仙花数 

水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=13+53+33。 本题要求编写程序,计算所有N位水仙花数。(要求运行效率高)

输入格式:

输入在一行中给出一个正整数N(3≤N≤7)。

输出格式:

按递增顺序输出所有N位水仙花数,每个数字占一行。

#include int p(int a,int b);int main(){ int n,t,sum=0,a; scanf("%d",&n); for(int i=p(10,n-1);i=0;j--){ t=a/p(10,j); a=a%p(10,j); sum=p(t,n)+sum; } if(sum==i){ printf("%d\n",sum); } }}int p(int a,int b){ int sum=1; if(b>0){ for(;b>0;b--){ sum=sum*a; } }else if(b=0){ sum=1; } return sum;}

2、兔子繁衍问题 

一对兔子,从出生后第3个月起每个月都生一对兔子。小兔子长到第3个月后每个月又生一对兔子。假如兔子都不死,请问第1个月出生的一对兔子,至少需要繁衍到第几个月时兔子总数才可以达到N对?

输入格式:

输入在一行中给出一个不超过10000的正整数N。

输出格式:

在一行中输出兔子总数达到N最少需要的月数。

输入样例:

30

输出样例:

9

#includeint main(){ double sum; int n1,n2,n3; scanf("%lf",&sum); int i; if (sum==0||sum==1){ printf("1"); return 0; } else if(sum==2){ printf("3"); return 0; } n1=1; n2=1; for(i=3;;i++){ n3=n1+n2; if(n3>=sum){ break; } n1=n2; n2=n3; } printf("%d",i); }

3、杨辉三角

Problem Description

还记得中学时候学过的杨辉三角吗?具体的定义这里不再描述,你可以参考以下的图形: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1

Input

输入数据包含多个测试实例,每个测试实例的输入只包含一个正整数n(1



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3