用java编写程序:输出1~20以内所有的完全平方数c(c^2=a^2=b^2)
时间: 2023-04-10 07:03:33 浏览: 208
以下是Java代码:
public class PerfectSquare {
public static void main(String[] args) {
for(int i=1; i<=20; i++) {
int c = i*i;
System.out.print(c + " ");
}
}
}
输出结果为:1 4 9 16 25 36 49 64 81 100 121 144 169 196 225 256 289 324 361 400
相关问题
用Java求解1000以内的完全数。 某数除本身外的的所有因子之和正好等于该数就称为完全数,如6=1+2+3,则6就是完全数。
在Java中,我们可以编写一个简单的程序来找出1000以内的所有完全数。首先,需要定义一个函数来检查一个数是否是完全数,然后遍历从1到1000之间的每一个数,对每个数进行判断。以下是实现的步骤:
```java
public class Main {
public static void main(String[] args) {
for (int i = 1; i < 1000; i++) {
if (isPerfectNumber(i)) {
System.out.println("数字 " + i + " 是一个完全数");
}
}
}
// 定义一个辅助函数来计算给定数的所有因子之和
public static boolean isPerfectNumber(int num) {
int sum = 1;
for (int j = 2; j * j <= num; j++) { // 只需检查到其平方根即可
if (num % j == 0) {
// 如果j是因子,那么它的倒数也是因子
sum += j;
if (j != num / j) { // 如果不是本身的平方,还加上另一个因子
sum += num / j;
}
}
}
// 如果sum等于num,说明它是完全数,返回true;否则返回false
return sum == num && num != 1;
}
}
```
运行这个程序会输出1000以内所有的完全数。
Java中编写算法找出1000以内所有完数
在Java中,我们可以编写一个简单的算法来找出1000以内的所有完数。完数(Perfect Number)是指一个正整数,它的所有真因数(除了自身以外的因子)加起来正好等于它本身。例如,6是一个完数,因为1+2+3=6。
以下是编写这样的算法:
```java
public class PerfectNumbers {
public static void findPerfectNumbers(int limit) {
for (int i = 2; i < limit; i++) {
int sum = 0;
for (int factor = 1; factor * factor <= i; factor++) {
if (i % factor == 0) {
// 如果factor是因数,那么它的平方也是因数(如果i不是完全平方)
if (factor != i / factor) {
sum += factor + i / factor;
} else {
sum += factor;
}
}
}
// 检查sum是否等于i,如果是,则i就是一个完数
if (sum == i) {
System.out.println(i + " is a perfect number.");
}
}
}
public static void main(String[] args) {
findPerfectNumbers(1000);
}
}
```
这个程序首先遍历从2到limit的所有数字,然后对每个数字检查其所有因数之和。如果这个和等于原始数字,那么该数字就是完数。在`main`函数中,我们传入1000作为上限值。
阅读全文