大一c语言求水仙花数

大一c语言求水仙花数,第1张

大一c语言求水仙花数方法:最重要的就是对他的个位,十位,百位拆分下来求他们的立方和,若等于这个数本身,就是水仙花数了。具体的代码实现如图。

水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。

水仙花数种类介绍:

水仙花数又称阿姆斯特朗数。三位的水仙花数共有4个:153,370,371,407;四位的四叶玫瑰数共有3个:1634,8208,9474。

五位的五角星数共有3个:54748,92727,93084;六位的六合数只有1个:548834;七位的北斗七星数共有4个:1741725,4210818,9800817,9926315。

百度百科-水仙花数

#include<stdioh>

int main(void)

{

int n,a,b,c,d;

for(n=100;n<=300;n++)

{

a=n/100;

b=n%100/10;

c=n%10;

d=aaa+bbb+ccc;

if (n==d) {

printf("%d\n",n);

}

}

}

水仙花数是指一个 n 位数 ( n≥3 ),每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153)。

所以可以依次通过模除求得每个位上的值,然后做n次幂后相加,再判断是否与本身相等,从而得到是否为水仙花数的结论。

以求所有三位数水仙花数为例,代码如下,其它相似。

#include<stdioh>

#include<stdlibh>

#include<stdboolh>

int cube(const int n){//计算立方。如果是四位则是四次方,以此类推。

return nnn;

}

int isNarcissistic(const int n){//计算是否为水仙花数。

int hundreds=n/100;//百位

int tens=n/10-hundreds10;//十位

int ones=n%10;//个位

return cube(hundreds)+cube(tens)+cube(ones)==n;//如果相等,则为水仙花数。

}

int main(void){

int i;

for(i=100;i<1000;++i){//对所有三位数判断。

if(isNarcissistic(i))//如果是则输出。

printf("%d\n",i);

}

return 0;

}

以上就是关于大一c语言求水仙花数全部的内容,包括:大一c语言求水仙花数、c语言编程 求100-300之间所有水仙花数 谢谢、c语言编程调用函数求水仙花数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9313550.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存