Backjun 2

[1735] 분수 합(C#)

알고리즘 : 유클리드 호제법 난이도 : Silver Ⅲ 유클리드 호제법을 활용하여 푸는 문제. 유클리드 호제법(Division algorithm) 이란? 주로 큰 두 수의 최대공약수를 파악하기 힘든 경우에 먼저 '큰 수'를 '작은 수'로 나눈 나머지를 구한 뒤 '나눴던 수'를 그 '나머지'로 나누는 과정을 되풀이하여 최종적으로 나머지가 0이 될 때 마지막 계산에서 나누는 수로서 최대공약수를 얻을 수 있다. 예를 들면 아래와 같다. string[] strFirstFraction = Console.ReadLine().Split(' '); string[] srtSecondFraction = Console.ReadLine().Split(' '); int[] firstFraction = Array.ConvertA..

[1676] 팩토리얼 0의 개수(C#)

알고리즘 : 구현 난이도 : Silver Ⅴ 규칙을 찾아내어야 하는 문제. 팩토리얼 연산을 수행하다 보면 0의 개수에 대한 규칙이 보인다. 처음에는 5의 배수만큼 0가 증가하는 것으로 판단했는데, 25쯤 가니까 갑자기 0이 추가로 증가하는 것을 보고서 단순 5의 배수가 아니라는 것을 알게됐다. (25!에서는 0가 6개..) 알고보니 10의 개수로 세는거였다. 그런데 이 때 10 = 2 * 5 이므로 5의 개수를 세면 된다고 착각할 수 있었는데, 음.. 비슷하다. 5의 등장 횟수보다 2의 등장 횟수가 더 많으므로. 그러나 25의 경우에는 5 * 5 이므로, 여기에 2를 두 번 곱하여 10을 만들 수 있기 때문에 10이 한번에 두번 등장하는 것과 동일하게 볼 수 있다.(일타쌍피!) 그러니까 25!을 살펴보면..

728x90
반응형