콘텐츠로 건너뛰기
Home » BigInt

BigInt

Swift – 큰 수의 덧셈과 곱셈 구현하기

프로젝트 오일러의 몇몇 문제는 큰 수의 덧셈이나 곱셈의 계산이 필요한 경우가 있다. 파이썬이나 하스켈과 같이 정수타입이 기본적으로 바이트 크기의 제약이 없는 언어에서는 이는 별다른 문제가 되지 않지만, 그외의 언어에서는 좀 까다로운 문제가 된다.  예를 들어 50자리 숫자 100개의 합을 계산하는 문제 같은 경우에 파이썬에서는 50자 짜리 숫자 문자열을 int 타입으로 캐스팅해서 합해버리면 그만이지만, Swift와 같은 언어로 이렇게 풀 수는 없다. 해당 문제의 풀이에서는 손으로 덧셈을 해 나가는 방식을 코드로 구현해서 풀었는데, 이후로도 큰 수를 계산해야 하는 문제가 자주 나온다. 수가… 더 보기 »Swift – 큰 수의 덧셈과 곱셈 구현하기

오일러 프로젝트 20

이번 문제는 100!의 모든 자리수 숫자들의 합을 구하는 것이다.   n! 이라는 표기법은 n × (n − 1) × … × 3 × 2 × 1을 뜻합니다. 예를 들자면 10! = 10 × 9 × … × 3 × 2 × 1 = 3628800 이 되는데, 여기서 10!의 각 자리수를 더해 보면 3 + 6 + 2 + 8 + 8 + 0 + 0 = 27 입니다.     100! 의 자리수를 모두 더하면 얼마입니까?””” (http://euler.synap.co.kr/prob_detail.php?id=20) 접근 팩토리얼 함수는… 더 보기 »오일러 프로젝트 20