KDHzoot's Github

Code for study, project, etc

자세히보기

알고리즘/정보올림피아드 필기 문제

2013 시도예선 중고등부 문제

kdhzoot 2018. 4. 12. 15:11

수학문제


1. 5! 이상은 10의 배수이므로 값에 영향을 주지 않는다.

1!부터 4!은 1, 2, 6, 24 이므로 답은 3



2. 1부터 99까지중 10의 자리에서 1부터 9까지 10번씩 나오고

1의 자리에서 10마다 한번씩 10번 나오기 때문에 (1+2+3...+9)*20 = 900 이다.

근데 여기서 100의 자릿수의 합을 더해야 하기 때문에 1이 더해진 901이다. 



3. 철수가 110바퀴 돌았다는 거는 철수가 3300만큼 달렸다는 것이다.

세사람이 동시에 만나는 때는 600만큼 달렸을 때이다. 따라서 5번 만난다. 



4. 정말 신기하게도, 1부터 1000까지는 10개의 비트만으로 표현할 수 있으므로

동전의 번호를 2진수로 표현한 후 앞에서 부터 순서대로 비트가 1이면 저울에 놓고 아니면 안놓고 해서 

10번의 저울질을 하면 값이 이상한 경우의 비트를 1로 만들면 몇번째 동전이 문제인지 알 수 있다.



5. 이러한 문제는 주기를 알아내면 된다. 

f(1)은 1 

f(2)는 -2 

f(3)은 -3

f(4)는 -1

f(5)는 2

f(6)은 3

f(7)은 1

f(8)은 -2

따라서 주기는 6이다. 2013을 6으로 나누고 나머지인 3만큼 하면 -3



6. 벤다이어그램을 그리면 바로 나온다.



7. 먼저 친구들이 각각 말한 3등을 보면 친구 2나 3이 서로 동시에 맞게된다.

따라서 3등은 병이다.

그러면 자동으로 친구2가 말한 2등은 병이다는 거짓이 되고 1등은 을이된다.

친구3이 말한 1등은 병이다도 거짓이되고 2등이 갑이 된다.



8. 사전순으로 하면

1이 앞에 나오는 수들은

1X와 1X0 부터 XX9까지 11번이

X가 0일 때 부터 9일때까지 해서 110번

1까지 더하면 111번

350번째 수는 111이 세번 이미 있었으므로 4로 시작한다.

17번 더 하는 것은 쉬우므로 직접해본다.

4, 40, 400, 401 ... 409, 41, 410, 411, 412, 413

따라서 413



9. 무게가 서로 다른 구슬은 (A, B), (B, C), (C, A)를 서로 짝지어서 한번씩 하면 세번만에 대소를 전부 비교할 수 있다.



10. 7abcdefg77이 어떤 정수의 세제곱이다. 세제곱을 해서 일의 자리가 7이 된는 수는 일의자리가 3이다.

따라서 19X3이라는 것을 알 수 있다.

대충 1953으로 해보자. 운좋게 7449150177이 나왔다. 따라서 g는 1



11. 경우의 수를 계속 구해보면

1, 2, 4, 7, 12...이 된다.

따라서 일반항 A(n)=A(n-1)+A(n-2)+1

계속 구하면

1, 2, 4, 7, 12, 20, 33, 54, 88, 143, 232, 376...

따라서 n이 5일때 12



12. n이 10일때 143



13. n개의 문자열 임의의 자리에서 k개의 1이 있다면 n-k개는 0이고 k개는 1이므로 

(n-k)*(k)의 유사도를 갖는다. 

4*4 + 3*5 + 0*8 + 7*1 + 3*5 + 2*6 = 65이다.



14-15. 그냥 지문대로 해보면 바로 된다.




코딩문제