已知四叶玫瑰数是这样一种四位数:各位上的数字的四次方之和等于本身的数(例如1634),
请编写程序实现如下功能:接收用户输入的数字,判断该数字是否为四叶玫瑰数。
【输入格式】
输入为一行数字,它是位数为4的正整数,该数字为需要判定是否为四叶玫瑰数的数字
【输出格式】
输出为一行数字,值为0或1,0表示该数字不是四叶玫瑰数,1表示该数字是四叶玫瑰数
【样例输入】
1634
【样例输出】
1
【完整的输入输出样例】
1634
1
个人答案:
import java.util.Scanner; public class Main { public static void main(String[]
args) { Scanner sc = new Scanner(System.in); String str = sc.nextLine(); int n
=Integer.parseInt(str); int qian=n/1000; int bai=n/100%10; int shi=n%100/10;
int ge=n%10; int a=qian%10; int b=bai/10%10; int c=shi/100%10; int d =ge/100;
int sum = a*a*a*a + b*b*b*b + c*c*c*c + d*d*d*d ; if(sum==n){
System.out.println(sum); System.out.println(1); }else{ System.out.println(0); }
} }
参考答案:
import java.util.Scanner; public class Main { public static void main(String[]
args) { Scanner scanner = new Scanner(System.in); int i = scanner.nextInt();
int q = i / 1000; int b = i % 1000 / 100; int s = i % 100 / 10; int g = i % 10;
double r = Math.pow(q, 4) + Math.pow(b, 4) + Math.pow(s, 4) + Math.pow(g, 4);
if(r == i) { System.out.println(1); }else { System.out.println(0); } } }