我写了一个程序,用于乘以非常大的数字。
假设我有两个数字:第一个是532位,第二个是526位。
我的程序给了我一个数字,看起来很正确:它有1058位数。
我尝试将结果与某些工具进行比较,以检查我的程序是否正确计算。
我使用python:对于这些输入数字,它看起来是正确的。第一个数字相同,最后数字相同。我无法比较每个数字,因为现在有超过数千个。
另外,我想检查我的程序是否有更大的输入数字。
所以,最后验证我在python中输入的结果:
first_number * second_number - my_program_result
对于〜<200位数的数字,结果为0.对于更大的数字,我得到了:
-1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000L
我不知道是我的程序故障还是蟒蛇。
python可以处理这么大的数字吗?是否还有其他工具可以用来验证我的结果? < / p>
修改 如我所知,我给出的数字给了我输出:
3475674888888888888888888888888888888888888888888888888888888888888888888666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666699999999999999999999999999999999999999999999999999999999999999999999999999999999999999999933333333333333333333333333333333333333333333333333333333333333366666666666666666666666666666666666666666666666666666666666666662222222222222222222222222222222222222222222222222222222222222222288888888888888888888888888888888888888888888888888888888888882222222222222222222222222
3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333377777777777777777777777777777777777777777777777777777777777777777777777777777777777777778888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222299999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
答案 0 :(得分:0)
尝试使用Python的内置函数cmp()
将乘积数的乘积与预期结果进行比较。
>>> print cmp(product_of_multiplication, expected_result)
如果product_of_multiplication == expected_result
,则会返回0
。
如果product_of_multiplication > expected_result
,则会返回1
。
如果product_of_multiplication < expected_result
,则会返回-1
。