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