C語言實現對水仙花數的判斷
水仙花數(Narcissistic number)也被稱為超完全數字不變數(pluperfect digital invariant, PPDI)、自戀數、自冪數、阿姆斯壯數或阿姆斯特朗數(Armstrong number),水仙花數是指一個 3 位數,它的每個位上的數字的 3次冪之和等於它本身(例如:1^3 + 5^3+ 3^3 = 153)。
例如:153是一個“水仙花數”,因為153=1的三次方+5的三次方+3的三次方。
常見的有
三位的水仙花數共有4個:153,370,371,407;
四位的四葉玫瑰數共有3個:1634,8208,9474;
五位的五角星數共有3個:54748,92727,93084;
六位的六合數只有1個:548834;
七位的北斗七星數共有4個:1741725,4210818,9800817,9926315;
八位的八仙數共有3個:24678050,24678051,88593477
題目:
找出100-999之間的所有水仙花數,每一列輸出一個。
思路:
個位的立方+十位的立方+百位的立方=一個三位數
已知一個三位數n,它的百位數字i即n/100(“/”符號表示前面的數字除以後面的數字之後取整數部分),十位數字j即(n-i*100)/10,個位數字t即n-i*100-j*10
程式碼:
#include "stdio.h"
int main()
{
int i, j, t, n;
printf("100-999之間的水仙花數有:\n");
for (n = 100; n <= 999; n++)
{
{
i = n / 100;
j = (n - i * 100) / 10;
t = n - i * 100 - j * 10;
}
{
if (n == i * i*i + j * j*j + t * t*t)
printf("%d\n", n);
}
}
return 0;
}
執行結果:
Linux公社的RSS地址 : ofollow,noindex" target="_blank">https://www.linuxidc.com/rssFeed.aspx
本文永久更新連結地址: https://www.linuxidc.com/Linux/2018-10/155091.htm