본문 바로가기

구현14

[C/C++] 백준 #1769 3의 배수(구현) 이번 문제는 특별한 알고리즘이 있는 것은 아니고, 그냥 지시한대로 구현을 하면 되는 문제입니다. 제가 다른 사람들한테 자주 물어본 수학 문제는 이런것이었습니다. 1000! (천 팩토리얼)을 계산하면 아주 큰 수가 나올거야. 그 수의 모든 자릿수를 다 더하면, 하나의 수가 되겠지. 이것을 계속 반복하면 결국 한자리 수가 나올텐데, 그 답은? 답은 당연하겠지만 9입니다. 3차리 수라고 하면, 100a+10b+c로 표현할 수 있습니다. 이것을 다시 분해하면, 99a+9b+a+b+c로 표현할 수 있죠. 10k1은 9의 배수이므로, 주어진 3자리수가 9의 배수이면, a+b+c도 9의 배수가 됩니다. 팩토리얼은 6! 부터 9의 배수가 됩니다. 결국 .. 2022. 10. 15.
[C/C++] 프로젝트 오일러 #34 : 자릿수의 팩토리얼 합(구현) 이번 문제는 각각의 자릿수의 팩토리얼 합이 자신이 되는 숫자를 찾는 것입니다. 예를 들어서 145란 숫자는, 1!+4!+5!=1+24+120=145 가 됩니다.  이번 문제는 이와 비슷한 숫자들의 합을 구하는 것입니다. 이제 프로젝트 오일러를 이정도까지 진행하셨다면, 십진수의 자릿수를 빼는 것에는 다들 어느정도 경험이 있을 것이라 생각합니다. 제 경우에는 각 자릿수의 팩토리얼 값을 미리 저장해서 사용했습니다.9! = 362880 이므로, 대충 6자릿수자일거라고 생각하면 됩니다.  그래서 숫자범위를 그렇게 정했습니다.  제가 작성한 프로그램은 다음과 같습니다.//------------------------------------------------// Project Eul.. 2015. 4. 13.
728x90