c语言的如下:
#include <stdio.h>
#include <math.h>
int main() {
int N, digit, sum = 0, originalN;
scanf("%d", &N);
if (N < 100 || N > 999) {
printf("Invalid Value.\n");
return 0;
}
originalN = N;
while (N > 0) {
digit = N % 10;
sum += pow(digit, 3);
N /= 10;
}
if (sum == originalN) {
printf("Yes\n");
} else {
printf("No\n");
}
return 0;
}
Java写的如下
import java.util.Scanner;//导入Java中用于读取用户输入的Scanner类。 public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);//创建一个 Scanner 对象,用于接收用户的输入 int N = scanner.nextInt(); // 读取输入的整数 // 判断输入值是否为三位数 if (N < 100 || N > 999) { System.out.println("Invalid Value."); } else { // 计算个位、十位、百位数字的立方和 int a = N / 100; int b = (N % 100) / 10; int c = N % 10; int sum = a * a * a + b * b * b + c * c * c; // 判断是否为水仙花数 if (sum == N) { System.out.println("Yes"); } else { System.out.println("No"); } } scanner.close(); } }