2017-09-14 11 views
-1

큰 숫자의 오른쪽에서 N 번째 숫자를 찾을 수있는 함수를 어떻게 만듭니 까? 예를 들어, (f 2345 2)는 4를 얻을 것입니다. 저는 DrRacket으로 프로그래밍 중이므로 라켓에서 코드를 사용할 수 있기를 희망합니다.N 번째 숫자 오른쪽부터

+0

가 라켓을 사용하지 마십시오하지만 왼쪽에 모든 값을 제거하기 위해 나머지 연산자를 사용하려는거야 (2345 % 10^n과 같은) 고립시켜야하는 숫자의 수를 나타냅니다. 여기에서 10^(n-1)로 나누고 int로 캐스팅하여 10 진수 값을 제거하여 수의 오른쪽을 제거해야합니다. – bpgeck

답변

0

오른쪽 가장 자리가 최하위 것을 기억 때문에 당신은 10 몫을 복용하여 잘라 수 있으며, n 번째 인덱스 당신이 얻을 수있는 최초의 필요를 들어 10

에 의해 나머지를 복용하여 마지막을 얻을 division의 나머지 부분은 (expt 10 n)이고 그 몫은 (expt 10 (- n 1))입니다.

이 같은 3 8 진수를 선택할 수 있도록 기반을 복용 함수를 상상해 :

(f #o143 #o3 #o10) ; ==> 1 
; same in decimal notation 
(f 99 3 8)   ; ==> 1