求全部水仙花数。所谓水仙花数是指一个三位数,其各位数字立方的和等于该数。如:153 = 13 + 53+ 33。
java方法如下,C语言主体方法一样。
//第一种
public class test { public static void main(String[] arg){ int i,j,k,n,l; //先定义所需变量 for(i=100;i<1000;i++){ //水仙花是三位数,所以所需循环是从100开始到999 n=i;k=0; //n为记录变量的变量,k 为记录各位位数立方和的数 for(l=0;l<=2;l++){ //立方和计算 j=n%10; //求出各位数字 n=(n-j)/10; k=k+j*j*j; //求和 } if(k==i){ System.out.print(i+" "); } //判断是不是我们想要得到的数字 } } }
//第二种
public class test { public static void main(String[] arg){ int i,j,k,n,l; //先定义所需变量 for(i=100;i<1000;i++){ //水仙花是三位数,所以所需循环是从100开始到999 n=i;k=i; //n为记录变量的变量,k 为记录各位位数立方和的数 for(l=0;l<=2;l++){ //立方和计算 j=n%10; //求出各位数字 n=(n-j)/10; k=k-j*j*j; //求和 } if(k==0){ System.out.print(i+" "); } //判断是不是我们想要得到的数字 } } }