Scheme 右起第n位

Scheme 右起第n位,scheme,racket,Scheme,Racket,如何创建一个函数,使您能够从右侧大量查找第n位数字?例如,(f 2345 2)将产生4。我是一名初学的学生,所以我正在使用DrRacket编程,我希望代码可以在Racket中使用。请记住,最右边的数字是最不重要的数字,因此您可以通过将商取10来截断它,并通过将余数取10来获得最后一个数字 对于第n个索引,您首先需要将除法的余数除以(expt10n),以及该除法与(expt10(-n1))的商 想象一下,你的函数取一个基数,这样你就可以像这样选择第三个八进制数字: (f #o143 #o3 #o1

如何创建一个函数,使您能够从右侧大量查找第n位数字?例如,(f 2345 2)将产生4。我是一名初学的学生,所以我正在使用DrRacket编程,我希望代码可以在Racket中使用。

请记住,最右边的数字是最不重要的数字,因此您可以通过将商取10来截断它,并通过将余数取10来获得最后一个数字

对于第n个索引,您首先需要将除法的余数除以
(expt10n)
,以及该除法与
(expt10(-n1))
的商

想象一下,你的函数取一个基数,这样你就可以像这样选择第三个八进制数字:

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

从未使用过racket,但您需要使用模数运算符删除要隔离的数字左侧的所有值(类似于
2345%10^n
)。从这里开始,您需要通过除以10^(n-1)来移除数字的右边,并通过强制转换为int来移除十进制值