已知四叶玫瑰数是这样一种四位数:各位上的数字的四次方之和等于本身的数(例如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);}}}