参考代码:
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语言程序设计教程(第三版)课后习题6.5 (C语言代码)浏览:633 |
DNA (C语言描述,数据结构)浏览:861 |
C语言程序设计教程(第三版)课后习题7.1 (C语言代码)浏览:611 |
哥德巴赫曾猜测 (C语言代码)浏览:2350 |
文科生的悲哀 (C语言代码)浏览:1401 |
A+B for Input-Output Practice (C语言代码)浏览:468 |
Tom数 (C语言代码)浏览:495 |
C二级辅导-等差数列 (C语言代码)浏览:695 |
C二级辅导-等差数列 (C语言代码)浏览:824 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:514 |