初学java:打印出1000以内的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数本身。

来源:互联网 发布:centos启用无线网卡 编辑:程序博客网 时间:2024/05/26 12:58

方法1:

public class Test {

public static void main(String[] args) {
int i,num,j,k,sum;
int[] a=new int[5];

                System.out.println("1000以内的水仙花数为:");
for(i=0;i<=1000;i++){
num=i;
j=0;
sum=0;
while(num!=0){
a[j]=num%10;
num=num/10;
j++;
}
for(k=0;k<j;k++)
{
sum=(int) (sum+Math.pow(a[k], j));
}
if(sum==i)
System.out.print(i+" ");
}
}
}

方法二:

public class Test2 {

public static void main(String[] args) {
int i,k,num;
System.out.println("1000以内的水仙花数为:");
for(i=0;i<=1000;i++)
{
num=i;
int sum=0;
String s=String.valueOf(num);
  for(k=0;k<s.length();k++)
{
int l=s.length();
char x=s.charAt(k);
String str=String.valueOf(x);
int y=Integer.parseInt(str);
sum=sum+(int) (Math.pow(y,l));
}
  if(sum==i)
System.out.print(i+" ");
}
}
}


阅读全文
0 0
原创粉丝点击