์์ฐ์ N์ด ์ ๋ ฅ๋๋ฉด 1๋ถํฐ N๊น์ง์ ๊ฐ ์ซ์๋ค์ ์ฝ์์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ๋ง์ฝ N์ด 8์ด ์ ๋ ฅ๋๋ฉด, 1(1๊ฐ), 2(2๊ฐ), 3(2๊ฐ), 4(3๊ฐ), 5(2๊ฐ), 6(4๊ฐ), 7(2๊ฐ), 8(4๊ฐ)์ ๊ฐ์ด ๊ฐ ์ซ์์ ์ฝ์์ ๊ฐฏ์๊ฐ ๊ตฌํด์ง๋๋ค.
์ถ๋ ฅ์ ๋ค์๊ณผ ๊ฐ์ด 1๋ถํฐ ์ฐจ๋ก๋๋ก ์ฝ์์ ๊ฐฏ์๋ง ์ถ๋ ฅํ๋ฉด ๋ฉ๋๋ค.
1 2 2 3 2 4 2 4 ์ ๊ฐ์ด ์ถ๋ ฅํ๋ค.
์ ๋ ฅ
์ฒซ ๋ฒ์งธ ์ค์ ์์ฐ์ N์ด ์ฃผ์ด์ง๋ค.
8
์ถ๋ ฅ
์ฒซ ๋ฒ์งธ ์ค์ 1๋ถํฐ N๊น์ง์ ์ฝ์์ ๊ฐ์๋ฅผ ์์๋๋ก ์ถ๋ ฅํ๋ค.
1 2 2 3 2 4 2 4
1ํธ (์ฑ๊ณต)
์ฝ์ ๋ชจ๋ ์ฐพ๊ธฐ (์ ํ์๊ฐ์ ๊ฑธ๋ฆผ) => ์๊ฐ๋ณต์ก๋ n^2
#include <iostream>
using namespace std;
int main(){
//freopen("input.txt", "rt", stdin);
int a, cnt = 0;
cin >> a;
for(int i = 1; i <= a; ++i){
cnt = 0;
for(int j = 1; j <= i; ++j){
if(i % j == 0){
cnt++;
}
}
cout << cnt << ' ';
}
return 0;
}
2ํธ (๊ฐ์ ํ์ด)
๋ฐฐ์ด์ ์์ฑํ์ฌ, ์ฝ์๊ฐ 1๋ถํฐ n๊น์ง ๋๋ฉด์ ์ฝ์์ ํด๋นํ๋ ์์ ++๋ฅผ ํด์ฃผ์ด์ ๊ตฌํ๋ ๋ฐฉ๋ฒ
j = j + i์ฉ ์ฆ๊ฐํ๋ฉด์ ์ด์ค for๋ฌธ์ ๋๊ธฐ ๋๋ฌธ์ for๋ฌธ์ ๋๋ ํ์๊ฐ ํ์ฐํ ์ค์ด๋ ๋ค. (๋ฐ์ดํฐ๊ฐ ํด์๋ก ๋๋์ฑ)
์๊ฐ๋ณต์ก๋ => ๊ฑฐ์ nlogn
i = 1, j = 1 2 3 4 5 6 7 8
i = 2, j = 2 4 6 8
i = 3, j = 3 6
i = 4, j = 4
#include <iostream>
using namespace std;
int main(){
//freopen("input.txt", "rt", stdin);
int cnt[50001];
int n;
cin >> n;
for(int i = 1; i <= n; ++i){
for(int j = i; j <=n; j=j+i){
cnt[j]++;
}
}
for(int i = 1; i<=n; ++i){
cout << cnt[i] << ' ';
}
return 0;
}
๊ฐ๋
๋ ๋ค ์ด์คfor๋ฌธ์ ์ฌ์ฉ
'๐ง ์ฝ๋ฉํ ์คํธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ธํ๋ฐ C++] 11. ์ซ์์ ์ด ๊ฐ์(small) (0) | 2024.03.21 |
---|---|
[์ธํ๋ฐ C++] 10. ์๋ฆฟ์์ ํฉ (0) | 2024.03.15 |
[์ธํ๋ฐ C++] 8. ์ฌ๋ฐ๋ฅธ ๊ดํธ (0) | 2024.03.15 |
[์ธํ๋ฐ C++] 7. ์์ด๋จ์ด ๋ณต๊ตฌ (0) | 2024.03.15 |
[์ธํ๋ฐ C++] 6. ์ซ์๋ง ์ถ์ถ (0) | 2024.03.15 |