|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
我想用数值int转字符串然后字符串转数值,遍历求水仙花数,但代码有问题,求教
import java.util.Scanner;
public class shuixianhua {
public static void main(String[] args) {
Scanner x = new Scanner(System.in);
System.out.println("请输入n位水仙花数");
int y = x.nextInt();
int yy=(int)Math.pow(10, y);
for (int i = 100; i <= yy; i++) {
String z = String.valueOf(i);
int sum=0;
for (int ii = 0; ii < y; ii++) {
String v= String.valueOf(z.charAt(ii));
int a = Integer.parseInt(v);
sum += Math.pow(a,3);
System.out.println(z.charAt(ii));
}
if(sum==i){
System.out.println(i);
}
}
}
}
本帖最后由 傻眼貓咪 于 2022-1-6 19:26 编辑
- import java.util.Scanner;
- public class Main{
- public static void main(String[] args) {
- int a, b;
- Scanner string = new Scanner(System.in);
- System.out.println("请输入 n 位水仙花数:");
- int n = string.nextInt();
- a = (int)Math.pow(10, n - 1);
- b = (int)Math.pow(10, n) - 1;
- for (int i = a; i < b; i++) {
- int num = Integer.parseInt(String.valueOf(i));
- int sum = 0, x;
- while(true){
- if(num == 0) break;
- x = num%10;
- num /= 10;
- sum += Math.pow(x, n);
- }
- if(sum == i) System.out.println(sum);
- }
- }
- }
复制代码- 请输入n位水仙花数:
- 3
- 153
- 370
- 371
- 407
复制代码
|
|