0
点赞
收藏
分享

微信扫一扫

蓝桥 素数求和(Java)

Brose 2022-04-03 阅读 37

AILAB专项训练

问题描述

输入一个自然数n,求小于等于n的素数之和

样例输入

2

样例输出

2

数据规模和约定

测试样例保证 2 <= n <= 2,000,000

import java.util.Scanner;
 
public class Main {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();
		long sum = 0;
		for(int i=2;i<=n;i++){
			if(su(i)){
				sum+=i;
			}
		}
		System.out.println(sum);
	}
	public static boolean su(long n){
		if(n<2)
			return false;
		for(int i=2; i*i <= n; i++){//i*i之后是合数
			if(n%i==0)
				return false;
		}
		return true;
	}
}
举报

相关推荐

0 条评论