编写一个 Java 程序,计算并输出从 1 到用户指定的数字 n 中,所有“幸运数字”。幸运数字的定义如下:条件 1:数字的所有位数(如个位、十位)加起来的和是 7 的倍数。条件 2:数字本身是一个质数。
时间: 2024-10-07 22:04:18 浏览: 38
为了编写一个 Java 程序,首先我们需要定义一个辅助函数来检查一个数字是否是质数,然后遍历给定范围内的每个数字,判断其是否满足两个条件:既是 7 的倍数加和又是质数。以下是程序的基本结构:
```java
public class LuckyNumbers {
// 辅助函数:判断一个数字是否为质数
private static boolean isPrime(int num) {
if (num <= 1) return false;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) return false;
}
return true;
}
// 主函数:计算并输出幸运数字
public static void findLuckyNumbers(int n) {
for (int i = 1; i <= n; i++) {
int sumOfDigits = 0;
int temp = i;
while (temp > 0) {
sumOfDigits += temp % 10;
temp /= 10;
}
if (sumOfDigits % 7 == 0 && isPrime(i)) {
System.out.println("Lucky number: " + i);
}
}
}
// 用户输入部分
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Enter a number up to which you want to find lucky numbers: ");
int n = scanner.nextInt();
scanner.close();
findLuckyNumbers(n);
}
}
```
当你运行这个程序,并输入一个整数 n 后,它会打印出从 1 到 n 范围内所有的幸运数字。
阅读全文