[TIP] Nirsoft RegDllView
Nirsoft 에는 재미있는 툴들이 많이 있다. 이 중에 RegDllView (등록된 DLL 뷰어)란 툴이 있다. 우선 캡쳐화면을 보면 : 현재 시스템에 등록되어 있는 dll/ocx/exe 파일등을 보여주는 툴이다. 액티브엑스를 만들어 테스트할 때, 새로운 버전이 돌고 있는지, 이전 것이 돌고 있는지 헷갈릴 경우가 있었는데, 이 툴을 사용하면, 현재 틍록된 파일의 패쓰까지 보여주고, 등록날짜/시점까지 보여주니까 그런 혼동을 줄일 수 있을 것이다. 이뿐 아니라, CCleaner 에서도 찾아주기는 하지만, 등록은 되어 있는데, 등록된 실제 파일은 존재하지 않는 것도 쉽게 찾을 수 있고, 또, 프로그램 상에서 등록해제도 가능하니까 그 용도로도 쓸 수 있겠다.
[Project Euler 183] 분할곱
http://projecteuler.net/index.php?section=problems&id=183 N이 양의 정수이고, N을 k 개로 똑같이 나누자. r = N/k 즉, N = r + r + ... + r 이다.P를 이 분할의 곱이라고 한다. 즉, P = r x r x ... x r = rk 예를 들어, 11을 다섯 개로 나누면, 11 = 2.2 + 2.2 + 2.2 + 2.2 + 2.2 이고, P는P = 2.25 = 51.53632 이다. 그리고, N에 대해 M(N) = Pmax , 즉 P가 갖을 수 있는 최대값으로 정의하자. N = 11일 때에는 다섯 개로 나누었을 때, Pmax = (11/4)4 로 최대가 되고, 다시, M(11) = 14641/256 = 57.19140625, 으로 10진수 ..
[Project Euler 204] 해밍수
해밍수(Hamming number)란 5보다 큰 소수 인수를 갖지 않는 양수를 말한다. 즉, 해밍수를 작은 것부터 몇 개 나열하면 다음과 같다. 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 15. 108보다 작은 해밍수는 1105개가 있다. 이 개념을 일반화하자. 타잎 n의 일반화된 해밍수를 n보다 큰 소수 인수를 갖지 않는 양수로 정의하자. 즉, 해밍수는 타잎 5의 일반화된 해밍수가 된다. 109보다 작은 타잎 100의 일반화된 해밍수는 몇 개 인가? 재귀로 풀었다. 아래가 코드. #!/usr/bin/env python # Euler Project Problem 204 # Hamming number import math LIM = 10**8 count = 0 for a in range(in..
[Project Euler 123] (p-1)^n + (p+1)^n % p^2
http://projecteuler.net/index.php?section=problems&id=123 pn 이 n번째 소수 ( 2, 3, 5, 7, 11, ..., )이고, r이 (pn1)n + (pn+1)n 를 pn2으로 나눈 나머지라고 하자. 예를 들어, n = 3, p3 = 5 이고, 43 + 63 = 280 5 mod 25 이다. 이 나머지가 109을 넘는 가장 작은 n은 7037이다. 나머지가 1010을 넘는 가장 작은 n을 구하라. #!/usr/bin/env python # Project Euler Problem 123 def remainder0(p, n): return ((p-1)**n + (p+1)**n)%(p*p) def remainder(p, n): ''' p is a prime. r..