您的位置:

c语言中玫瑰花数有哪些,用C语言程序输出一朵玫瑰花

本文目录一览:

c语言中什么是玫瑰花数

玫瑰花数是数学上的定义,不是C语言的定义。

玫瑰花数又称“四叶玫瑰数”,是指四位数各位上的数字的四次方之和等于本身的数。

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);

}

输出1000到9999之间的四叶玫瑰数,用C语言的知识回答

#includestdio.h

int main()

{

    int i, j, t;

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

    {

        t = 0;

        for(j=i; j; j/=10)

            t += (j%10)*(j%10)*(j%10)*(j%10);

        if(t == i)

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

    }

}

Output:

1634

8208

9474