Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何找到余数?_Java_C_Algorithm_Math_Numbers - Fatal编程技术网

Java 如何找到余数?

Java 如何找到余数?,java,c,algorithm,math,numbers,Java,C,Algorithm,Math,Numbers,我想找到一个很长的数的余数。我正在为此编写一个程序,因为我不能直接找到余数,因为它们是大数(在c中)。我该怎么做?我必须除以较大的数才能找到余数的数的限制是500。即1到500 我想把这个数字除以如下: 1234567=1*10^6+2*10^5+ 1234567%x=1modx*10^6modx+2modx*10^5modx 我需要一个更好的方法。如果你的问题涉及使用很长或很大的数字,请尝试使用long。问题可能是您使用的数据类型太小,无法容纳所需的值 您可以尝试使用类似bignum的库,或者

我想找到一个很长的数的余数。我正在为此编写一个程序,因为我不能直接找到余数,因为它们是大数(在c中)。我该怎么做?我必须除以较大的数才能找到余数的数的限制是500。即1到500 我想把这个数字除以如下:

1234567=1*10^6+2*10^5+

1234567%x=1modx*10^6modx+2modx*10^5modx


我需要一个更好的方法。

如果你的问题涉及使用很长或很大的数字,请尝试使用
long
。问题可能是您使用的数据类型太小,无法容纳所需的值

您可以尝试使用类似bignum的库,或者使用数组或列表,这有点类似于

除此之外,模运算将为您计算余数。

提示: 使用链接列表。将数字动态存储为一组数字。 例如:

11223344566778899001122=>11223344 55667788 99001122

现在考虑单个单元,从左向右开始。找到提醒并操纵它以添加到下一组并继续

现在实现起来非常简单:)

编辑:


请记住,操作后的单个单位应在int可以支持的最大范围内。

我需要一个更具体的答案,然后是:)请在代码中使用模运算符%,这样我们可以看到如何帮助!问题是我无法将值存储为整数或其长度很大。现在我将值存储为字符串。它可能包含10000位数字。好的。然后尝试一个大的num库。差不多。寻求帮助也许看起来也一样。我不想使用这样的库。你有其他解决方案吗?开发人员需要库@user3851486。没有它们,有些事情(像这样)是无法实现的。你可能会使用数组。有帮助吗?你能告诉我一些关于操纵的情况吗……这似乎是一个艰难的过程task@user3851486:如果你对答案感到满意,请向上投票:)@user3851486:我也能得到最好的答案吗
 112233445566778899001122/6 =>  11223344 55667788 99001122/6


 11223344/6 =>2

 2*100000000 + 55667788 = 255667788
 255667788/6 => 0
 0*100000000 + 99001122 = 99001122
 99001122/6=>0

 So the reminder is 0.