- toc {:toc}
๋ฌธ์
.png)
์์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ก๊ฐํ์ผ๋ก ์ด๋ฃจ์ด์ง ๋ฒ์ง์ด ์๋ค. ๊ทธ๋ฆผ์์ ๋ณด๋ ๋ฐ์ ๊ฐ์ด ์ค์์ ๋ฐฉ 1๋ถํฐ ์์ํด์ ์ด์ํ๋ ๋ฐฉ์ ๋์๊ฐ๋ฉด์ 1์ฉ ์ฆ๊ฐํ๋ ๋ฒํธ๋ฅผ ์ฃผ์๋ก ๋งค๊ธธ ์ ์๋ค. ์ซ์ N์ด ์ฃผ์ด์ก์ ๋, ๋ฒ์ง์ ์ค์ 1์์ N๋ฒ ๋ฐฉ๊น์ง ์ต์ ๊ฐ์์ ๋ฐฉ์ ์ง๋์ ๊ฐ ๋ ๋ช ๊ฐ์ ๋ฐฉ์ ์ง๋๊ฐ๋์ง(์์๊ณผ ๋์ ํฌํจํ์ฌ)๋ฅผ ๊ณ์ฐํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์๋ฅผ ๋ค๋ฉด, 13๊น์ง๋ 3๊ฐ, 58๊น์ง๋ 5๊ฐ๋ฅผ ์ง๋๋ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ N(1 โค N โค 1,000,000,000)์ด ์ฃผ์ด์ง๋ค.
์ถ๋ ฅ
์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง ๋ฐฉ๊น์ง ์ต์ ๊ฐ์์ ๋ฐฉ์ ์ง๋์ ๊ฐ ๋ ๋ช ๊ฐ์ ๋ฐฉ์ ์ง๋๋์ง ์ถ๋ ฅํ๋ค.
์ถ์ฒ:https://www.acmicpc.net/problem/2292
ํ์ด
๋ฒ์ง์ด ๋์ด๋๋ ๊ฐ์์ ๋ํ ๊ท์น์ ํ์ ํ๋ ๊ฒ์ด ์ฐ์ ์ด๋ผ๊ณ ์๊ฐํ๊ณ ์ต๋จ๊ฑฐ๋ฆฌ์ ์๊ฐ ๋์ด๋จ์ ๋ฐ๋ผ ๋ฒ์ง์ ๊ฐ์๋ ์ต๋จ๊ฑฐ๋ฆฌ*6์ฉ + ๋๋ค๋ ๊ฒ์ ๋ํ๋ด ํ์๋ค.
#include <iostream>
using namespace std;
int main()
{
int num, shortD=1, range=1;
cin >> num;
while(true)
{
if(num <= range)
{
cout << shortD << endl;
break;
}
else
{
range += shortD*6;
shortD++;
}
}
return 0;
}์์
๊ท์น์ด ์กด์ฌํ๋ค๋ฉด ๊ท์น ํ์คํ๊ฒ ํ์ ํ๊ธฐ