728x90
๋ฐ์ํ
https://www.acmicpc.net/problem/1110
1110๋ฒ: ๋ํ๊ธฐ ์ฌ์ดํด
0๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 99๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์๊ฐ ์ฃผ์ด์ง ๋ ๋ค์๊ณผ ๊ฐ์ ์ฐ์ฐ์ ํ ์ ์๋ค. ๋จผ์ ์ฃผ์ด์ง ์๊ฐ 10๋ณด๋ค ์๋ค๋ฉด ์์ 0์ ๋ถ์ฌ ๋ ์๋ฆฌ ์๋ก ๋ง๋ค๊ณ , ๊ฐ ์๋ฆฌ์ ์ซ์๋ฅผ ๋ํ๋ค. ๊ทธ ๋ค์,
www.acmicpc.net
๋ฌธ์ ํ์ด
- 26์ ์ ๋ ฅ๋ฐ์ผ๋ฉด 10์ผ๋ก ๋๋ ๋ชซ์ a, ๋๋จธ์ง๋ฅผ b. ์ฆ a=2, b=6
- a + b = new (2 + 6 = 8)
- count++;
- newA = b, newB = new % 10;
- ์ฆ, newA = 6, newB = 8
- if newA*10 + newB == origin (=26) ์ด๋ผ๋ฉด count ๊ฐ ์ถ๋ ฅ ํ ๋ฆฌํด
C code
#include <stdio.h>
int main()
{
int number,a,b,new,origin,newA,newB,count=0;
scanf("%d",&number);
origin=number;
a= number / 10;
b= number % 10;
while(1){
count++;
if( (b*10 + (a+b)%10) == origin ){
printf("%d\n",count);
return 0;
}
new = a+b;
newA = b;
newB = new%10;
a = newA;
b = newB;
}
}
๊ฒฐ๊ณผ
728x90
๋ฐ์ํ