4

这实际上不是家庭作业,我只是在下周开始计算机科学之前查看离散数学书中的一些问题。

无论如何,其中一个问题要求我编写一个程序来执行这个算法(它解释了)。我坚持的部分是如何获取 9 位数字并将其“拆分”为单个整数,因此可以对每个数字执行计算。

我想把这个数字除以 100,000,000,然后取它的整数值来得到第一个数字,但我不知道如何得到其他数字。

如果这是在 PHP 或其他东西中,我可以使用explode(),但我想这不是重点:P

4

3 回答 3

4

您可以使用 mod(%) 和 divide(/) 运算符。

N%10 会给你最后一个数字。N/10(整数除法)将删除最后一位数字。

你可以继续,直到你没有更多的数字。

于 2010-09-12T22:18:32.980 回答
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

等等!

于 2010-09-12T22:23:43.277 回答
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.
于 2010-09-12T22:19:37.583 回答