参考代码:
import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); long sum = 0; boolean[] flags = new boolean[n + 1]; for (int i = 2; i <= n; i++) { if (!flags[i]) { for (int j = i + i; j < flags.length; j += i) { // 因为是i的倍数,所以直接j+=i flags[j] = true; } sum += i; } } System.out.println(sum); } }
0.0分
2 人评分
C语言程序设计教程(第三版)课后习题8.9 (Java代码)浏览:1325 |
矩阵乘法 (C++代码)浏览:1454 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:518 |
求组合数 (C语言代码)浏览:1152 |
C语言训练-求1+2!+3!+...+N!的和 (C语言代码)万恶的long long浏览:875 |
简单的a+b (C语言代码)浏览:523 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:598 |
C语言程序设计教程(第三版)课后习题9.1 (C语言代码)浏览:681 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:326 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:372 |