[๋ฐฑ์ค/C++] 2292๋ฒ : ๋ฒ์ง
๋ฌธ์
์์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ก๊ฐํ์ผ๋ก ์ด๋ฃจ์ด์ง ๋ฒ์ง์ด ์๋ค. ๊ทธ๋ฆผ์์ ๋ณด๋ ๋ฐ์ ๊ฐ์ด ์ค์์ ๋ฐฉ 1๋ถํฐ ์์ํด์ ์ด์ํ๋ ๋ฐฉ์ ๋์๊ฐ๋ฉด์ 1์ฉ ์ฆ๊ฐํ๋ ๋ฒํธ๋ฅผ ์ฃผ์๋ก ๋งค๊ธธ ์ ์๋ค. ์ซ์ N์ด ์ฃผ์ด์ก์ ๋, ๋ฒ์ง์ ์ค์ 1์์ N๋ฒ ๋ฐฉ๊น์ง ์ต์ ๊ฐ์์ ๋ฐฉ์ ์ง๋์ ๊ฐ ๋ ๋ช ๊ฐ์ ๋ฐฉ์ ์ง๋๊ฐ๋์ง(์์๊ณผ ๋์ ํฌํจํ์ฌ)๋ฅผ ๊ณ์ฐํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์๋ฅผ ๋ค๋ฉด, 13๊น์ง๋ 3๊ฐ, 58๊น์ง๋ 5๊ฐ๋ฅผ ์ง๋๋ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ N(1 ≤ N ≤ 1,000,000,000)์ด ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง ๋ฐฉ๊น์ง ์ต์ ๊ฐ์์ ๋ฐฉ์ ์ง๋์ ๊ฐ ๋ ๋ช ๊ฐ์ ๋ฐฉ์ ์ง๋๋์ง ์ถ๋ ฅํ๋ค.
ํ์ด
๋จผ์ ํด๋น ๋ฐฉ๊น์ง์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐํ๋ ๊ท์น์ ์ฐพ์์ผ ํ๋ค.
2~7๋ฒ(๋ฒ์ 6) : 2๋ฒ ์ด๋
8~19๋ฒ(๋ฒ์ 12) : 3๋ฒ ์ด๋
20~38๋ฒ(๋ฒ์ 18) : 4๋ฒ ์ด๋
-> ๋ฐ๊นฅ์ธต์ผ๋ก ๋๊ฐ ๋๋ง๋ค, 6/12/18/24 ๋ฑ 6*์ธต ์์ผ๋ก ๋ฒ์๊ฐ ๋์ด๋๋ค
-> 6*i์ ๋ฑ๋น์์ด ํฉ์ ๊ตฌํ ํ, ๊ทธ ํฉ์ด ์ ๋ ฅ๋ ์ฃผ์๋ณด๋ค ํฌ๊ฒ๋ํ๋ i๋ฅผ ์ฐพ์์ ์ถ๋ ฅ
(์ฃผ์ํ ๊ฒ์ ๋ฑ๋น์์ด์ ์ด๊ธฐํญ์ด 2๋ผ๋ ๊ฒ!)
#include <iostream>
using namespace std;
int main(){
int n, i=1;
cin >> n;
if (n == 1)
cout << i;
else{
for (int sum=2; sum<=n; i++)
sum += i*6;
cout << i;
}
}
https://cryptosalamander.tistory.com/20
[๋ฐฑ์ค / BOJ] - 2292๋ฒ ๋ฒ์ง C++ ํ์ด
๋ฐฑ์ค - ๋จ๊ณ๋ณ๋ก ํ์ด๋ณด๊ธฐ [2292] https://www.acmicpc.net/problem/2292 ๋ฌธ์ ์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ ๋ฐฉ์์ผ๋ก ๋ฒ์ง์ ์ฃผ์๊ฐ ์ ํด์ง ๋, ์ ๋ ฅ๋ฐ์ ๋ฐฉ ์ฃผ์ N์ ๋ฒ์ง์ ์ค์ 1๋ฒ ๋ฐฉ์์ ๋ช ๊ฐ์ ๋ฐฉ์ ๊ฑฐ์ณ์ ๊ฐ ์ ์.
cryptosalamander.tistory.com
https://www.acmicpc.net/problem/2292
2292๋ฒ: ๋ฒ์ง
์์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ก๊ฐํ์ผ๋ก ์ด๋ฃจ์ด์ง ๋ฒ์ง์ด ์๋ค. ๊ทธ๋ฆผ์์ ๋ณด๋ ๋ฐ์ ๊ฐ์ด ์ค์์ ๋ฐฉ 1๋ถํฐ ์์ํด์ ์ด์ํ๋ ๋ฐฉ์ ๋์๊ฐ๋ฉด์ 1์ฉ ์ฆ๊ฐํ๋ ๋ฒํธ๋ฅผ ์ฃผ์๋ก ๋งค๊ธธ ์ ์๋ค. ์ซ์ N์ด ์ฃผ์ด์ก
www.acmicpc.net