这实际上不是家庭作业,我只是在下周开始计算机科学之前,在一本离散的数学书中查看一些问题。
无论如何,其中一个问题要求我编写一个程序来执行这个算法(它解释了)。我坚持的部分是如何获取9位数字并将其“拆分”为单个整数,因此可以对每个数字执行计算。
我想将数字除以100,000,000,然后取整数值得到第一个数字,但我不知道如何得到其他数字。
如果这是在PHP或其他东西我可以使用explode(),但我想这不是重点:P
答案 0 :(得分:4)
您可以使用mod(%)和除(/)运算符。
N%10会给你最后一位数字。 N / 10(整数除法)将删除最后一位数。
您可以继续直到没有更多数字。
答案 1 :(得分:1)
一旦你除以100,000,000并取整数值,你就可以将这个整数值乘以100,000,000并从ISBN中减去它。这实际上只取消了最左边的数字。现在,重复10,000,000 - 依此类推。
5位数的示例:
Start: 74325
74325/10000 and int = 7 (there's your first digit)
7 * 10000 = 70000
74325 - 70000 = 4325
4325/1000 and int = 4 (there's your next digit)
4 * 1000 = 4000
4325 - 4000 = 325
等等!
答案 2 :(得分:0)
使用模运算:
a % 10 to get the last digit
a % 100 to get the last two digits. (a % 100) - (a % 10) to get the second last number
etc.