python

프로젝트 오일러 013

project euler

프로젝트 오일러 013

문제 13번 문제50자리 수 100개를 더한 값의 첫 10자리 구하기사이냅소프트 큰 수의 덧셈 50자리 10진수 중에서 가장 큰 9999....9999 (9가 50개) 2진수로 표현하면 166자리가 됩니다. 즉 166비트짜리 값입니다만, 이를 하나의 단위로 다룰 수 있는 컴퓨터는 없거나 흔치 않을 겁니다. 하지만 컴퓨터가 큰 수를 다루지 못하는 것은 아닙니다. 본질적으로 모든

By sooop
빠른 피보나치 변환

빠른 피보나치 변환

아주 큰 N에 대한 피보나치 일반항 찾기 피보나치 수열의 일반항에 대한 프로젝트 오일러 문제가 몇 개 있었고, 해당 문제를 다루는 포스트에서 이미 재귀로 구현하는 경우 시간복잡도가 커서 성능이 매우 좋지 못하고, 따라서 메모이제이션이나, 혹은 앞에서부터 루프를 돌면서 구하는 방법을 사용해서 문제를 풀었습니다. 그런데 순차적으로 계산하여 N번째 항을 찾아내더라도, N이 충분히

By sooop