资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

水仙花数c语言用函数实现 水仙花数c语言程序编写

水仙花数的c语言编程。

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

专注于为中小企业提供网站设计、做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业阳朔免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上1000+企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

下面是完整的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语言水仙花数

#include stdio.h

int main()

{

int start, end, i = 0, a, b, c, size = 0;

while (scanf("%d %d", start, end) == 2)

{

for (i = start; i = end; i++)

{

a = i / 100;

b = i / 10 % 10;

c = i % 10;

//total = pow(c, 3) + pow(a, 3) + pow(b, 3);

if ((a*a*a + b*b*b + c*c*c) == i)  //满足水仙花条件

{

if (size == 0)   //size=0输出第一个水仙花数

{

printf("%d", i);

}

else     //size++输出第二。。第n个水仙花数

{

printf(" %d", i);

}

size++;   //个数++;

}

}

if (size == 0)   //范围内个数为0,则说明没有满足条件的

{

printf("no");

}

printf("\n");

}

return 0;

}

扩展资料:

需要注意的地方:

1.将n整除以100,得出n在百位上的数字hun。

2.将(n-i*100)整除以10(或将n先整除以10再对10求模n/10%10),得出n在十位上的数字ten。

3.将n对10取余,得出n在个位上的数字ind。

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

参考资料:

百度百科-水仙花数

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

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

所以水仙花数,首先是三位数,形式为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语言用函数实现 水仙花数c语言程序编写
链接URL:http://cdkjz.cn/article/ddgcoed.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220