1、从键盘输入一个整数,判断该数是否为素数
什么是素数
素数(质数)是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
思路
将输入的整数记为num,从2开始遍历到num-1,看能否被num整除,如果能就不是素数,否则就是素数。
具体实现
public static void main(String[] args) {
System.out.println("输入一个整数:");
Scanner scan=new Scanner(System.in);
int num=scan.nextInt();
int i=0;
for (i=2;i<num;i++){
if(num%i==0){
System.out.println("该数不是素数。");
break;
}
}
if(i==num){
System.out.println("该数是素数。");
}
}
2、求解从2到20000的所有完数。所有的真因数的和等于本身的数字称为完数
思路
第一层i从2遍历到20000,并且设置因数和sum为1,第二层j从2遍历到i,如果i可以整除j,则sun+=j,第二层循环结束后判断因数和是否和i相等,相等则输出。
集体实现
java实现
public static void main(String[] args) {
for (int i = 2; i < 20000; i++) {
int sum = 1;
for (int j = 2; j < i; j++) {
if (i % j == 0) {
sum += j;
}
}
if (sum == i) {
System.out.println(i);
}
}
}