python大整数乘法不计算最重要的数字

2024-10-04 01:28:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个python程序,应该乘以2个大整数。你知道吗

问题是我在java中得到了一个不同的结果,BigInteger类具有相同的输入。你知道吗

我尝试过使用decentlibrary for python,但给出了与使用纯python相同的答案。你知道吗

以下是我的变量:

d = 372049305848826709205673800090501485720867768816

r = 5452188953055713107393819158892374332916586527736541041226026450382

我在python中从d * r得到的结果:

2028483115341019294875069650745272851135156323450218238187883716036516369477015140871224045070868977706272670887712

结果我在java中得到了BigInteger类:

9530687378863294988874153740700860249994095546182028483115341019294875069650745272851135156323450218238187883716036516369477015140871224045070868977706272670887712

以下是我的java代码:

BigInteger d = new BigInteger("372049305848826709205673800090501485720867768816");
        BigInteger r = new BigInteger("5452188953055713107393819158892374332916586527736541041226026450382");
        BigInteger tmp1 = d.multiply(r);
        System.out.println(tmp1);

如您所见,python的结果中遗漏了一些最重要的数字。你知道吗

有什么解决办法吗?你知道吗


Tags: 答案代码程序newfor整数javaout
1条回答
网友
1楼 · 发布于 2024-10-04 01:28:42

JavaPython给出了相同的答案:

2028483115341019294875069650745272851135156323450218238187883716036516369477015140871224045070868977706272670887712

那么问题一定出在Java代码中了。确保预先执行乘法correctly,并验证您的输入。你知道吗

另外,检查是否有任何可能在结果之前打印数字的内容。我能想到的最简单的方法是:

System.out.println("the result is: " + int1.multiply(int2));

这会将您感兴趣的输出与已打印的所有内容分开。你知道吗

相关问题 更多 >