写一段求一个数字的因子的java代码
时间: 2023-05-16 21:06:35 浏览: 68
以下是求一个数字的因子的Java代码:
```java
import java.util.ArrayList;
public class Factors {
public static ArrayList<Integer> getFactors(int num) {
ArrayList<Integer> factors = new ArrayList<Integer>();
for (int i = 1; i <= num; i++) {
if (num % i == 0) {
factors.add(i);
}
}
return factors;
}
}
```
这个代码会返回一个整数的所有因子,例如,如果输入数字为12,返回的结果将是[1, 2, 3, 4, 6, 12]。
相关问题
实现一个素数输出的Java代码
以下是一个输出素数的Java代码:
```java
public class PrimeNumbers {
public static void main(String[] args) {
int limit = 100;
System.out.println("Prime numbers between 1 and " + limit);
for(int i=2; i <= limit; i++){
boolean isPrime = true;
for(int j=2; j < i ; j++){
if(i % j == 0){
isPrime = false;
break;
}
}
if(isPrime)
System.out.print(i + " ");
}
}
}
```
这段代码会输出1到100之间的素数。首先,我们定义了一个变量`limit`,它指定了我们要输出的最大值。然后,我们使用两个嵌套的`for`循环来检查每个数字是否为素数。外部循环从2开始,一直到我们的限制值。内部循环从2开始,一直到当前数字的前一个数字。如果当前数字可以被内部循环中的任何数字整除,那么它不是素数。如果内部循环结束后仍然没有发现因子,则当前数字是素数,我们将其打印出来。
现在要求写一个程序,接收一个输入的数字,判断出它是不是完美数,是的话打印YES,不是打印NO
好的,以下是使用 Java 实现判断一个数字是否为完美数的程序:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个整数:");
int num = sc.nextInt(); // 接收输入的数字
int sum = 0;
for (int i = 1; i < num; i++) {
if (num % i == 0) {
sum += i; // 累加因子
}
}
if (sum == num) {
System.out.println("YES"); // 如果因子之和等于输入的数字,则为完美数
} else {
System.out.println("NO"); // 否则不是完美数
}
}
}
```
你可以尝试运行一下这段代码,输入一个数字进行测试。