더북(TheBook)

심화학습

 

 

1.3.32 라마누잔의 택시. 라마누잔(S. Ramanujan)은 인도의 수학자로서 수에 대한 통찰력으로 유명하다. 영국의 수학자 하디(G. H. Hardy)가 어느 날 그를 병문안했을 때, 하디는 자신이 타고 온 택시 번호가 1729로서, 별로 특징 없는 수라고 이야기했다. 이 말에 라마누잔은 “아니야, 하디! 아니야, 하디! 이 숫자는 아주 흥미로운 숫자야. 이 숫자는 두 정수의 세제곱의 합으로 표현할 수 있는 방법이 두 개 있는 수들 중 가장 작은 수”라고 이야기했다. 명령 줄 인수로 정수 n을 입력받아 두 수의 세제곱의 합을 두 가지 숫자 조합으로 표현할 수 있는 n보다 작거나 같은 정수를 모두 출력하는 프로그램을 작성하라. 즉 a3 + b3 = c3 + d3이 되는 서로 다른 양수 a, b, c, d를 찾아내면 된다.

 

1.3.33 체크섬(checksum). 국제 표준 도서 번호(ISBN)는 책을 식별하는 10자리 고유한 숫자이다. 오른쪽 끝에 있는 숫자는 체크섬으로서 나머지 숫자 9개에 의해 결정되며 d1 + 2d2 +3d3 + … + 10d10이 11의 배수가 되는 성질을 갖고 있다(여기서 di는 오른쪽에서 i번째 숫자를 나타낸다). ISBN은 숫자 10을 나태내기 위해 문자 ‘X’를 사용한다. 예를 들어 020131452의 체크섬은 5이다. 0부터 10까지의 숫자 중 10·0 + 9·2 + 8·0 + 7·1 + 6·3 + 5·1 +4·4 +3·5 + 2·2 + 1·x를 11의 배수로 만들 수 있는 x는 5 밖에 없기 때문이다. 9자리 정수를 명령 줄 인수로 입력받아 체크섬을 계산하고 ISBN 번호를 출력하는 프로그램을 작성하라.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.