计算Java中的常见因素表

时间:2015-11-05 22:01:20

标签: java greatest-common-divisor

我正在尝试完成一个简短的个人项目,创建一个20x20的表,打印一个'#',其中两个数字共享一个大于1的公因子(例如2和8共同的因子为2,所以这应该显示一个哈希值)。如果未找到共同因素,则会打印“ - ”符号。

这是我的(缩写到相应的位)伪代码: 数据被编辑

问题在于,由于某些原因,它打印了太多“#”和“ - ”符号,然后突然有一半因素不正确。

可能导致这种情况的原因是什么?我试过好几次没试过我的代码。

2 个答案:

答案 0 :(得分:4)

当你打印#时,你有3个循环深度。因此,不是为每个坐标打印一个#,而是为每个坐标的每个匹配打印一个#。例如。 (2,8) - count==2, count==4, count==8的比赛。

user1486477指出的状态变量重置也存在问题。

答案 1 :(得分:2)

我在您的伪代码中发现了一些问题,但不确定这些问题是否会导致您的问题,您最好打印实际代码:

  1. 状态变量在内部循环内重置,因此即使为某个公共因子打印了#, - 只要下一个count值不是除数,也会打印。在外部获取重置声明或在找到除数后立即中断循环
  2. 您似乎没有使用println或" \ n",那么你是如何进行换行的呢?
  3. 希望它可以帮助......