我已经开始研究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整除。
如果你能给我建议,我感谢你的帮助。
答案 0 :(得分:0)
听起来你应该使用java.math.BigInteger
BigInteger也支持mod,因此可以使用Euclidean算法
维基百科为您提供的欧几里德算法的解释 https://en.wikipedia.org/wiki/Euclidean_algorithm