首页 > 分享 > C语言程序设计入门——水仙花数

C语言程序设计入门——水仙花数

最新推荐文章于 2024-11-23 18:10:23 发布

Deilay 于 2021-09-07 09:11:58 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

·水仙花数是指一个N位正整数(N>=3),它的每个位上的数字的N次幂之和等于他本身。例如:153=13 +53 +33 ,本题要求编写程序,计算所以N位的水仙花数。 输入格式:

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

输出格式:

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

输入样例:

3

输出样例:

153
370
371
407

#include <stdio.h> int main() { int n; scanf("%d",&n); int first=1; int i=1; while(i<n){first *= 10;i++; } //为了得到一个三位数first //printf("first=%dn",first); //查看当前first的值 //遍历100-999 i = first; while (i<first*10){ int t = i;//分解i,防止i被破坏,用t int sum = 0; do{//do循环可以处理0的问题,while处理不了 int d = t%10;//d是t的个位/*do是先执行指定语句,最后判断循环条件。 while是先判断循环条件,然后执行指定语句。所以,在循环内语句相同时,如果循环判断条件为0,do会执行一遍语句,而while则不会执行。*/ t/=10; int p = 1; int j = 0; while(j<n){p*=d;j++; } sum += p; }while(t>0); if (sum == i){printf("%dn",i); } i++; } return 0; }

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253'

相关知识

C语言:输出所有的水仙花数
vs水仙花数c语言代码,求水仙花数c语言代码怎么写
【C语言】打印水仙花数
C语言基础练习①——水仙花数
C语言计算任意位数水仙花数
C语言输出1000以内的水仙花数
C语言编写水仙花数
1028: 判断水仙花数(C语言)
水仙花数C语言代码优化
C语言入门:判断水仙花数(100~999)

网址: C语言程序设计入门——水仙花数 https://m.huajiangbk.com/newsview1390628.html

所属分类:花卉
上一篇: 风信子应该怎么养的呢?可不可以放
下一篇: 水仙花可以用温水来养么