Java中的最大数据类型范围值

时间:2016-01-22 13:55:44

标签: java performance data-structures types

我已经开始研究Java中的一些编码问题,但却陷入了困境。问题如下所示。我们选择了一个作为除数的数字,它的最后一个数字是3;例如,3,13,33,203等。现在,我们需要找到可以除以除数的最低可能红利,其所有数字都是1' s。例如:

 we have a divisor as 3 so least dividened will be 111 only. 
If we have divisor as 3  and choose divided as 1  then  1%3 !=0
If we have divisor as 3  and choose divided as 11  then  11%3 !=0
If we have divisor as 3  and choose divided as 111  then  111%3 ==0
So 111 will be least dividend which can be divided by 3.

现在,我已经开发了一些代码,当它包含在Java数据类型的范围内时,可以找到最低的分红。问题是我们必须找到一个超出这个范围的股息。例如:我们有643作为除数,我们需要找到最低股息(只有1' s)可以被643整除。

如果你能给我建议,我感谢你的帮助。

1 个答案:

答案 0 :(得分:0)

听起来你应该使用java.math.BigInteger

BigInteger也支持mod,因此可以使用Euclidean算法

维基百科为您提供的欧几里德算法的解释 https://en.wikipedia.org/wiki/Euclidean_algorithm