水仙花数c语言程序函数 水仙花数c语言程序函数 否则则输入no

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

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

网站设计、网站建设介绍好的网站是理念、设计和技术的结合。成都创新互联公司拥有的网站设计理念、多方位的设计风格、经验丰富的设计团队。提供PC端+手机端网站建设,用营销思维进行网站设计、采用先进技术开源代码、注重用户体验与SEO基础,将技术与创意整合到网站之中,以契合客户的方式做到创意性的视觉化效果。

所以可以依次通过模除求得每个位上的值,然后做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语言程序

代码如下:

#include stdio.h

int main()

{

printf("输出水仙花数:\n");

int i=100;

for( ; i1000; i++){

int num_0 = i%10;

int num_1 = i/10%10;

int num_2 = i/10/10%10;

if(i==(num_0*num_0*num_0+num_1*num_1*num_1+num_2*num_2*num_2))

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

}

return 0;

}

扩展资料:

自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身。

n为1时,自幂数称为独身数。显然,0,1,2,3,4,5,6,7,8,9都是自幂数。

n为2时,没有自幂数。

n为3时,自幂数称为水仙花数,有4个:153,370,371,407;

n为4时,自幂数称为四叶玫瑰数,共有3个:1634,8208,9474;

n为5时,自幂数称为五角星数,共有3个:54748,92727,93084;

n为6时,自幂数称为六合数, 只有1个:548834;

n为7时,自幂数称为北斗七星数, 共有4个:1741725,4210818,9800817,9926315;

n为8时,自幂数称为八仙数, 共有3个:24678050,24678051,88593477;

n为9时,自幂数称为九九重阳数,共有4个:146511208,472335975,534494836,912985153;

n为10时,自幂数称为十全十美数,只有1个:4679307774。

参考资料:

百度百科——水仙花数

水仙花数的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语言程序

提示错误可以调试为:

#include stdio.h

int main()

{

int a, b, c, d;

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

{

b = a / 100;

c = a % 100 / 10;

d = a % 100 % 10;

if (b*b*b + c*c*c + d*d*d == a)

printf("水仙花数为%d\n", a);

}

}

如图为运行结果

原先的错误在于#include后没有加stdio.h,而且for循环语句也有错误。

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

int li(int n)

{ return n*n*n;

}

int shuixian(int n)

{

int b,s,g;

b=n/100;

s=n/10%10;

g=n%10;

if((li(b)+li(s)+li(g))==n)

return 1;

return 0;

}

int main()

{

int i;

scanf("%d",i);

if(shuixian(i))

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

return 0;

}

C语言 水仙花数

#include stdio.h

int fun(int a,int b)

{

int i,m,n,k,count=0;

if(ab)

{

for(i=b;i=a;i++)

{

m=i/100;

n=(i%100)/10;

k=i%10;

if(i==((m*m*m)+(n*n*n)+(k*k*k)))

{

count+=1;

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

}

}

}

else if(ab)

{

for(i=a;i=b;i++)

{

m=i/100;

n=(i%100)/10;

k=i%10;

if(i==(m*m*m)+(n*n*n)+(k*k*k))

{

count+=1;

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

}

}

}

else

{

m=a/100;

n=(a%100)/10;

k=a%10;

if(a==(m*m*m)+(n*n*n)+(k*k*k))

{

count=1;

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

}

}

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

return 0;

}

void main()

{

int a,b;

printf("请输入要查找的区间端点(三位数以内):");

scanf("%d%d",a,b);

fun(a,b);

}

不知道是不是你要的~~~


网页名称:水仙花数c语言程序函数 水仙花数c语言程序函数 否则则输入no
网站URL:http://myzitong.com/article/doojsci.html