From 7cd4251d12749f34f45acc8959abbc7918824b8a Mon Sep 17 00:00:00 2001 From: CyC2018 <1029579233@qq.com> Date: Fri, 8 Jun 2018 17:00:43 +0800 Subject: [PATCH] auto commit --- "notes/Leetcode \351\242\230\350\247\243.md" | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git "a/notes/Leetcode \351\242\230\350\247\243.md" "b/notes/Leetcode \351\242\230\350\247\243.md" index f6aa2f5a..84bddea7 100644 --- "a/notes/Leetcode \351\242\230\350\247\243.md" +++ "b/notes/Leetcode \351\242\230\350\247\243.md" @@ -3364,11 +3364,11 @@ public int minSteps(int n) { ### 素数 -**素数分解** +(一)素数分解 每一个数都可以分解成素数的乘积,例如 84 = 22 \* 31 \* 50 \* 71 \* 110 \* 130 \* 170 \* … -**整除** +(二)整除 令 x = 2m0 \* 3m1 \* 5m2 \* 7m3 \* 11m4 \* … @@ -3376,7 +3376,7 @@ public int minSteps(int n) { 如果 x 整除 y(y mod x == 0),则对于所有 i,mi <= ni。 -**最大公约数最小公倍数** +(三)最大公约数最小公倍数 x 和 y 的最大公约数为:gcd(x,y) = 2min(m0,n0) \* 3min(m1,n1) \* 5min(m2,n2) \* ... @@ -3391,18 +3391,18 @@ x 和 y 的最小公倍数为:lcm(x,y) = 2max(m0,n0) \* 3max( ```java public int countPrimes(int n) { boolean[] notPrimes = new boolean[n + 1]; - int cnt = 0; - for (int i = 2; i < n; i++){ + int count = 0; + for (int i = 2; i < n; i++) { if (notPrimes[i]) { continue; } - cnt++; + count++; // 从 i * i 开始,因为如果 k < i,那么 k * i 在之前就已经被去除过了 - for (long j = (long) i * i; j < n; j += i){ + for (long j = (long) (i) * i; j < n; j += i) { notPrimes[(int) j] = true; } } - return cnt; + return count; } ``` -- GitLab