2009-12-03 805 views
5

我正在尝试在VBA中编写一些代码以解决Project Euler中的问题。我一直在试图回答一个问题,要求你找到可以分成不合适的数字的素数。任何建议如何处理这个问题?在VBA中处理大于Long的数字

我知道我可以分开两个变量之间的数字,我已经做了加法和减法,但从来没有划分。任何帮助将不胜感激。

+4

素数...? – Henrik 2009-12-03 15:38:22

+0

我想我们知道他的意思@ Agent389素数不能被任何数字整除,除了1和它本身。你可以通过循环直到数字的平方根来测试它。你可能甚至可以更快,那么我知道你不应该去那个数的一半(除法,所以平方根要快一点)。 – JonH 2009-12-03 15:46:06

+0

对不起,我更新了这个问题,使其更加清晰。 – Agent389 2009-12-07 13:53:20

回答

1

基本上你应该来存储数字作为文本,并创建基本的数学运算功能加,减,等

欲了解更多信息和执行,看看这里:Large Number Arithmetic

+5

你应该提供更多的链接 – BrainO2 2013-11-18 14:44:10

0

您可以编写一个bigint类,该类使用char *并将每个元素存储在int类型的链接列表数据项中。这样,整数的大小并不重要。虽然这并不容易,但我正在谈论一个完整的课程。

-2

使用具有较大值的“Double”数据类型。

+0

使用“双”是一个坏主意,因为它被限制在一定数量的有效数字,所以你会失去更大的数字准确性。 – M1chael 2017-03-29 08:59:24

0

您可以定义一个十进制数据类型(12字节), ,但只能在一个变体中定义。通过一些整除

Dim i As Variant

i = CDec(i)