习题4

发布时间:2024-11-13 21:03

习题4-6 水仙花数 (20分)

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

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

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

输入样例:

3

输出样例:

153
370
371
407

#include<stdio.h> int p(int a,int b); int main() { int N,a=1,n,sum=0,de,i; scanf("%d",&N); for(i=p(10,N-1);i<p(10,N);i++) { n=1;a=i/p(10,N-n); sum=p(a,N); de=i-a*p(10,N-n); while(N-n>0){ a=de/p(10,N-n-1); de=de-a*p(10,N-n-1); sum=sum+p(a,N); n++; } if(sum==i) { printf("%d\n",sum); } } return 0; } int p(int a,int b){ int pow=1,j; for(j=1;j<=b;j++) { pow=pow*a; } return pow; }

123456789101112131415161718192021222324252627282930313233'

主要是测试点3会超时,但是当我们自定义一个幂函数的时候就能成功通过。

网址:习题4 https://www.yuejiaxmz.com/news/view/68682

相关内容

第4章 绿色开花植物的生活方式练习题/试题及答案
4种不良习惯=“慢性自杀”
学习生活计划书(通用4篇)
学习生活心得体会(精选4篇)
如何抗衰老?养成4个习惯,更年轻
学习生活中遇到的问题
生活习惯的问题
实用的个人提升学习计划4篇
综合性学习《倡导低碳生活》练习题
建议孩子4岁开始学习舞蹈!

随便看看