
大一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语言编程调用函数求水仙花数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)