首页 > 分享 > C语言实现水仙花数

C语言实现水仙花数

算法描述

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

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

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

输入样例:

3

输出样例:

153

370

371

407

#include <stdio.h>

int main(){

int n;

scanf("%d",&n);

int x = pow(10,n);

int y = pow(10,n-1);

while(y<x){

int t = y;

int sum = 0;

while(t>0){

int a = t%10;

sum = pow(a,n) + sum;

t = t/10;

}

if(sum==y){

printf("%dn",sum);

}

y++;

}

return 0;

}

代码说明:

以3位数为例

1.例如输入n=3,表示需要查找所有3位水仙花数

2.需要遍历所有的三位数,即 100-999之间的数

3.求出每次遍历,该数各个位上的数字,即分解成该数的个位、十位、百位等,这是编程的关键。

如:153,通过153%10取模运算,得到3,第二次用53%10,得3,第3次用5%10得5.

4.求得这三个数字的立方和是否与其本身相等,若相等,则该数为水仙花数

代码演示:

相关知识

C语言:输出所有的水仙花数
vs水仙花数c语言代码,求水仙花数c语言代码怎么写
C语言编写水仙花数
【C语言】求水仙花数(完整代码)
C语言:PAT练习:水仙花数( T & F)
1028: 判断水仙花数(C语言)
水仙花数C语言代码优化
水仙花数,C语言
C语言判断水仙花数
水仙花数的实现(python)

网址: C语言实现水仙花数 https://m.huajiangbk.com/newsview467262.html

所属分类:花卉
上一篇: CCF NOI1008. 水仙花
下一篇: c语言输出水仙花数