import java.util.Scanner;
public class Demo2 {
1:判断一个数是否是素数
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("输入一个数");
int num = sc.nextInt();
if(num==2){
System.out.println(num+"是素数");
return;
}
boolean flag = true;
for(int i = 2;i<=Math.sqrt(num);i++){
if(num%i==0){
flag = false;
break;
}
}
if(flag){
System.out.println(num+"是素数");
}else{
System.out.println(num+"不是素数");
}
}
}
2:打印100以内的素数,并且求和
public static void main(String[] args) {
int count =0; //个数
int sum = 0; //和
for(int i = 2;i<=100;i++){
boolean flag = true; //切记:每求一个素数,需要将flag重新设为true
for(int j = 2;j<=Math.sqrt(i);j++){
if(i%j==0){
//整除成功,代表这个数字不是素数
flag = false;
break; //后面的数字不用判断了
}
}
//输出素数的地方
if(flag){
System.out.print(i+",");
count++; //素数个数+1
sum+=i; //求和
}
}
System.out.println("\n个数:"+count);
System.out.println("和:"+sum);
}
}
3:打印前100个素数,求和
public static void main(String[] args) {
int count = 0;
int sum = 0; //求和
//从2开始,没有结尾 当素数的个数达到100个时候,跳出此循环
for(int i=2;;i++){
boolean flag = true;
//素数从2开始做整除运算
for(int j = 2;j<=Math.sqrt(i);j++){
//判断是否能够整除,整除成功,数字不是素数
if(i%j==0){
flag = false;//flag为false代表这个数字不是素数
break; //提高效率,后面的不用判断了
}
}
//存放素数的判断
if(flag){
count++;//素数的个数+1
System.out.print(i+",");
if(count%10==0){
System.out.println();
}
sum+=i;
if(count==100){
//跳出外面最大的循环
break;
}
}
}
System.out.println("和:"+sum);
}
}