编写一个Java类,找出所有的五角星数,输出结果以逗号分割。
时间: 2024-02-29 08:52:25 浏览: 245
五角星的实现程序
4星 · 用户满意度95%
以下是一个找出所有五角星数的Java类:
```java
public class PentagonNumber {
public static void main(String[] args) {
int count = 0;
for (int i = 1; i <= 10000; i++) {
int n = i * (3 * i - 1) / 2;
if (isPentagonNumber(n)) {
System.out.print(n + ",");
count++;
if (count % 10 == 0) {
System.out.println();
}
}
}
}
private static boolean isPentagonNumber(int n) {
double x = (Math.sqrt(24 * n + 1) + 1) / 6;
return x == (int) x;
}
}
```
该类中使用了两个方法,`main`方法用于输出所有的五角星数,`isPentagonNumber`方法用于判断一个数是否是五角星数。
在`main`方法中,从1到10000循环遍历每一个数,计算出它对应的五角星数,然后判断该数是否为五角星数,如果是,就输出该数并统计输出的数的个数。如果输出的数的个数是10的倍数,就换行。
在`isPentagonNumber`方法中,通过公式$x = \frac{\sqrt{24n+1}+1}{6}$计算出$x$的值,如果$x$是整数,就说明该数是五角星数,返回`true`,否则返回`false`。
运行该Java类,可以输出所有的五角星数,结果以逗号分隔,每10个换一行。
阅读全文