习题:输出水仙花数(水仙花数即为一个三位数等于各位立方之和的数)
1 /*输出水仙花数*/ 2 #include<stdio.h> 3 int main(void) 4 { 5 int i,j,k,l,m; 6 printf("The Narcissus is: "); 7 for(i=100;i<=999;i++) 8 { 9 j=i/100; 10 k=i/10-(j*10); 11 m=i-(j*100)-(k*10);/*此处可以用求余数的方法m=i%10;*/ 12 if(i==j*j*j+k*k*k+m*m*m) 13 { 14 printf("%5d",i); 15 continue; 16 } 17 } 18 printf("\n"); 19 return 0; 20 }
算法二:
1 /*输出水仙花数算法二*/ 2 #include<stdio.h> 3 int main(void) 4 { 5 int i,j,k,l; 6 printf("The Narcissus is: "); 7 for(i=1;i<=9;i++) 8 for(j=0;j<=9;j++) 9 for(k=0;k<=9;k++) 10 { 11 l=i*100+j*10+k; 12 if(l==i*i*i+j*j*j+k*k*k) 13 printf("%5d",l); 14 } 15 printf("\n"); 16 return 0; 17 }