์์ฐ์ N์ด ์ ๋ ฅ๋๋ฉด 1๋ถํฐ N๊น์ง์ ์์์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์.
๋ง์ฝ 20์ด ์ ๋ ฅ๋๋ฉด 1๋ถํฐ 20๊น์ง์ ์์๋ 2 3 5 7 11 13 17 19๋ก ์ด 8๊ฐ ์ ๋๋ค.
์ ํ์๊ฐ์ 1์ด์ ๋๋ค.
์ ๋ ฅ
20
์ถ๋ ฅ
8
1ํธ (์ฑ๊ณต) ๋ฐ์ดํฐ๊ฐ ํฌ๋ฉด ์ ํ์๊ฐ์ ๋ง์ถ์ง ๋ชปํ๋ค.
#include <iostream>
using namespace std;
bool isPrime(int x){
bool isPrime = true;
for(int i = 2; i < x; i++){
if(x%i == 0){
isPrime = false;
}
}
return isPrime;
}
int main(void){
int n, cnt;
cin >> n;
for(int i = 2; i <= n; ++i){
if(isPrime(i)){
cnt++;
}
}
cout << cnt;
return 0;
}
2ํธ (๊ฐ์ ํด์ค)
i * i <= x
์ฃผ์ด์ง ๊ฐ์ ๋ฐ๋ง(์ ๊ณฑ๊ทผ) ํ์ธํด๋ ๊ด์ฐฎ๋ค. ๋ฐ๋งํผ์ ์ฝ์๊ฐ ๋ ์๋ค๋ ๊ฒ์ ํ์ฐ์ ์ด๊ธฐ ๋๋ฌธ์ด๋ค.
#include <iostream>
using namespace std;
int main(void){
int n, cnt = 0;
cin >> n;
for (int i = 2; i <= n; ++i) {
bool isPrime = true;
for (int j = 2; j * j <= i; ++j) {
if (i % j == 0) {
isPrime = false;
break;
}
}
if (isPrime) cnt++;
}
cout << cnt;
return 0;
}
'๐ง ์ฝ๋ฉํ ์คํธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ธํ๋ฐ C++] 17. ์ ์๋ ํด์ฆ (0) | 2024.04.04 |
---|---|
[์ธํ๋ฐ C++] 16. ์๋๊ทธ๋จ(Anagram) : ๊ตฌ๊ธ ์ธํฐ๋ทฐ ๋ฌธ์ (0) | 2024.04.04 |
[์ธํ๋ฐ C++] 14. ๋ค์ง์ ์์ (0) | 2024.03.21 |
[์ธํ๋ฐ C++] 13. ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋ ์๋ฆฟ์ (0) | 2024.03.21 |
[์ธํ๋ฐ C++] 12. ์ซ์์ ์ด ๊ฐ์(large, ์ ํ์๊ฐ 1์ด) (0) | 2024.03.21 |