본문 바로가기

분류 전체보기

(469)
[EP0010] 백만이하 소수의 합 특정 수 이하의 모든 소수를 구하는 알고리즘을 비교해 보았다. gen_primes 는 스택오버플로우에서 검색하여 발견한 방법. 에라토스테네스의 방법이 특정수 이하까지의 체를 만들기 위해 메모리를 잡아야 하는 단점이 있는데, 메모리를 덜 잡고 하는 방법이라고 한다. 이해를 하려면 좀 더 들여다 봐야하겠으나, 내 방법보다 훨씬 빠르게 나왔다. (무식하게 메모리 잡고 하는 방법보다는 약간 느렸지만) 커멘트로 써 놓은 테스트 결과는 천만으로 한 것. 백만일 때의 결과는 각각 3.1초, 3.3초, 1.3초, 1.5초. import time import functools from tqdm import tqdm def log_elapsed(func): @functools.wraps(func) def newfunc(*..
[EP003] 큰 수의 소수분해 from typing import List import math from time import time from tqdm import tqdm def get_primes_under_siev(n: int) -> List[int]: root_n = int(math.sqrt(n)) siev = {} siev[0] = siev[1] = 0 siev[2] = 1 for i in range(2, root_n + 1): # print(i) if siev.get(i, 1): for j in range(i + i, n + 1, i): siev[j] = 0 # print(siev) primes = [n for n in range(2, n + 1) if siev.get(n, 1)] return primes def facto..
[프린터] FilterGraphics 래스터데이터 조작 출처 번역 : DwYoon 최종수정일 : 20080215 From: "Ashwin Needamangala" References: Subject: Re: how to catch EMF spool file Date: Fri, 25 Oct 2002 17:46:41 -0700 Message-ID: There are APIs provided by GDI for handling EMF files. For example, you could use GdiGetSpoolFileHandle in order to capture the spool file of a particular print job. Refer to the section titled "Using GDI Functions for Print Processors..
[번역] 프린트 서브시스템의 기본개념 Fundamental concepts of the print subsystem 프린트 서브시스템의 기본개념 Posted Tuesday, February 28, 2006 9:54 AM by ashwinn 번역 2008년 2월 27일 DwYoon After having posted details on bitmap drivers and port monitors, I realised that I should probably cover the fundamentals first. So my next few posts will be on the fundamentals of the print subsystem, overview of the print driver model etc. 비트맵 드라이버와 포트모니터에 대해 ..
비트맵 드라이버 만들기 How to write a bitmap driver 비트맵 드라이버 만들기 Posted Tuesday, February 21, 2006 5:44 PM by ashwinn 번역 2008년 2월 22일 by DwYoon It didn't take much for me to come up with the topic for my first blog post. If I only had a penny for the number of times I have seen questions on writing bitmap drivers. So here goes... 첫 블로그 포스트를 뭘로 할지 결정하는 건 쉬웠다. 비트맵 드라이버를 어떻게 만드냐는 질문을 자주 봤다. 자, 이제 그 답변이다. The best approac..
[EP 023] 두 과잉수의 합으로 나타낼 수 없는 모든 수의 합 완전수는 자신보다 작은 약수의 합이 자신과 같은 수이다. 예로는 6, 28 등이 있다. 과잉수는 이 합이 자신보다 큰 것을 말한다. 두 과잉수의 합으로 나타낼 수 없는 모든 양의 정수의 합은? 자신을 포함하는 모든 약수의 합, 즉 약수함수가 곱셈적이라는 성질 때문에 재귀함수를 만들거나 캐시리스트를 만드는 방식으로 "쪼개서" 문제를 해결하는 전략을 쓸 수 있다. 아래코드는 s 라는 리스트에 약수함수값을 저장하여 n의 약수함수값을 s[n] 으로 가져올 수 있고, n = p q 일 때에, 가장 작은 소수인수를 만나면, s(n) = s[p] s[q] 라는 성질을 이용하여, 차례대로 s 리스트를 채우는 방식으로 문제를 풀어본 것이다. # PROJECT EULER # PROBLEM 23 def s_f(n): """..
pip install 시 Visual C++ is required 메시지와 함께 설치에러가 발생하는 이유 파이썬 패키지들은 소스로 제공될 경우도 있고, 미리빌드된 휠(prebuilt wheel)로 제공될 경우도 있습니다. 미리빌드된 휠은 소스를 각 플랫폼 (리눅스, 윈도우, 맥, 32비트, 64비트 등등) 에 맞게 누군가가 미리 빌드하여 제공하는 것이기 때문에, "현재" 가장 대중적인 플랫폼에 대해 우선적으로 제공됩니다. 2020년 현재는 32비트 파이썬은, 64비트 버전에 비해 덜 대중적입니다. 따라서 32비트 파이썬을 설치한 경우에는 pip 설치시에 이러한 에러를 만날 확률이 큽니다. (마찬가지로 파이썬 2.7 버전, 또는 나온지 오래된 3.4, 3.5 등등, 그리고 이제 막 새롭게 버전이 출시되었을 때에도) 물론 적절한 컴파일 환경 ( vc 컴파일환경 등 ) 을 설정한 경우에는 소스를 컴파일하여 잘 설..
[번역] ROP코드만 보고 해석하기 http://groups.google.com/group/microsoft.public.development.device.drivers/msg/67e084bd105c0eb6?dmode=source From: "Maxim S. Shatskih" References: Subject: Re: raster operation codes Date: Sun, 28 Nov 2004 00:14:21 +0300 Lines: 55 Organization: StorageCraft X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2800.1437 X-MimeOLE: Produced By Microsoft MimeOLE V6.0..