这实际上不是家庭作业,我只是在下周开始计算机科学之前查看离散数学书中的一些问题。
无论如何,其中一个问题要求我编写一个程序来执行这个算法(它解释了)。我坚持的部分是如何获取 9 位数字并将其“拆分”为单个整数,因此可以对每个数字执行计算。
我想把这个数字除以 100,000,000,然后取它的整数值来得到第一个数字,但我不知道如何得到其他数字。
如果这是在 PHP 或其他东西中,我可以使用explode(),但我想这不是重点:P
这实际上不是家庭作业,我只是在下周开始计算机科学之前查看离散数学书中的一些问题。
无论如何,其中一个问题要求我编写一个程序来执行这个算法(它解释了)。我坚持的部分是如何获取 9 位数字并将其“拆分”为单个整数,因此可以对每个数字执行计算。
我想把这个数字除以 100,000,000,然后取它的整数值来得到第一个数字,但我不知道如何得到其他数字。
如果这是在 PHP 或其他东西中,我可以使用explode(),但我想这不是重点:P
您可以使用 mod(%) 和 divide(/) 运算符。
N%10 会给你最后一个数字。N/10(整数除法)将删除最后一位数字。
你可以继续,直到你没有更多的数字。
一旦除以 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
等等!
使用模运算:
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.