c語言水仙花數 什麼是水仙花數
來源:時尚少女範 3.04K
1、水仙花數的含義:
“水仙花數”是一個三位數其各位數字的立方和等於該數本身。例如:3^3+7^3+0^3=370
2、演算法分析:
把給出的某個三位數的個位、十位、百位分別拆分,並求其立方和(設為sum),若sum與給出的三位數相等, 則為“水仙花數”。
3、演算法設計:
“水仙花數”是一個三位數,可以確定該數的取值範圍是 100-999。對應的迴圈條件如下:
for (n=10; n<1000; n++) {}
將n整除以100,得出n在百位上的數字h。
將(n-i*100)整除以10, 得出n在十位上的數字t。
將n對10取餘,得出n在個位上的數字a。
求得h,t,a 三個數字的立方和是否與n相等,如果相等則證明該數為水仙花數。
4、程式碼實現:
#include
int main() {
int h, t, a, n;
printf(result is:);
for ( n=100; n<1000; n++ ) { /*整數的取值範圍*/
h = n / 100;
t = (n-h*100) / 10;
a = n % 10;
if (n == h*h*h + t*t*t + a*a*a) /*各位上的立方和是否與原數n相等*/
printf(%d , n);}
printf(n);
return 0;}