水仙花函数c语言,水仙花数c语言程序函数

C语言用自定义函数,定义函数判断一个整数是否为水仙花数,并利用这个函数输出所有的水仙花数。

水仙花数即三位的自幂数。所谓自幂数,就是指一个 n 位数 ( n≥3 ),其每位上的数字的 n 次幂之和等于本身。

创新互联建站于2013年开始,先为沂源等服务建站,沂源等地企业,进行企业商务咨询服务。为沂源企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

所以水仙花数,首先是三位数,形式为abc,同时a,b,c的立方和值与原本数相同。

类似的还有

四位自幂数:四叶玫瑰数

五位自幂数:五角星数

六位自幂数:六合数

等等。

对于水仙花数的判断,需要按照以下步骤:

1 提取该数的个位,十位,百位值。

2 计算三个数的立方和。

3 与原值比较,如相等则是。

要输出所有水仙花数,需要:

1 对所有三位数,即100到999遍历;

2 对每个数判断是否为水仙花数,如是则退出。

当循环结束,所有的水仙花数就输出成功了。

代码如下:

int isNarcissistic(int n)

{

int a = n/100;

int b = n/10%10;

int c = n%10;

return a*a*a + b*b*b + c*c*c == n;

}

int main()

{

int i;

for(i = 100; i 1000; i ++)

if(isNarcissistic(i)) printf("%d ",i);

}

输出结果如下:

153 370 371 407

水仙花数的c语言编程。

所谓的“水仙花数”是指一个三位数其各位数字的立方和等于该数本身,例如153是“水仙花数”,因为:153 = 1^3 + 5^3+ 3^3 。

下面是完整的C语言编程代码:

运行结果:

result is:153  370  371  407

扩展资料

常见水仙花数

水仙花数又称阿姆斯特朗数。

1、三位的水仙花数共有4个:153,370,371,407;

2、四位的四叶玫瑰数共有3个:1634,8208,9474;

3、五位的五角星数共有3个:54748,92727,93084;

4、六位的六合数只有1个:548834;

5、七位的北斗七星数共有4个:1741725,4210818,9800817,9926315;

6、八位的八仙数共有3个:24678050,24678051,88593477

参考资料:百度百科:水仙花数

c语言编程调用函数求水仙花数

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

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

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

#includestdio.h

#includestdlib.h

#includestdbool.h

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

return n*n*n;

}

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

int hundreds=n/100;//百位

int tens=n/10-hundreds*10;//十位

int ones=n%10;//个位

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

}

int main(void){

int i;

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

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

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

}

return 0;

}


网站题目:水仙花函数c语言,水仙花数c语言程序函数
转载来源:http://azwzsj.com/article/heiiec.html