import java.util.Scanner;
public class Main{
public static void main(String [] args){
Scanner in=new Scanner(System.in);
int n=in.nextInt();//n为不确定的正整数,不知位数。
int a=1;
int count=0;
int zong=0;
while(n/a!=0) {
a*=10;count++;
}
System.out.println(count);
//count即为n的位数。
int[] b =new int[count];
for(int i=0;i<count;i++) {
b[i]=(int) ((n/Math.pow(10,i))%10);
zong+=b[i];
}
System.out.println(zong);
}
}
水仙花数
判断用户输入的数是否为水仙花数
import java.util.Scanner;
public class Main{
public static void main(String [] args){
Scanner in=new Scanner(System.in);
int n=in.nextInt();//n为不确定的正整数,不知位数。
int a=1;
int count=0;
int zong=0;
while(n/a!=0) {
a*=10;count++;
}
//count即为n的位数。
int[] b =new int[count];
for(int i=0;i<count;i++) {
b[i]=(int) ((n/Math.pow(10,i))%10);
zong+=Math.pow(b[i],count);
}
if(zong==n) {
System.out.println(n);
}
}
}
打印出i位所有水仙花数
import java.util.Scanner;
public class Main{
public static void main(String [] args){
Scanner in=new Scanner(System.in);
int i=in.nextInt();
int zong;
int[] a=new int[i];
int n=(int)(Math.pow(10,i-1));
while(n<Math.pow(10, i))
{zong=0;
for(int j=0;j<i;j++)
{a[j]=(int)(n/Math.pow(10, j))%10;
zong+=Math.pow(a[j],i);
}
if(n==zong) {
System.out.print(n+" ");
}
n++;
}
}
}