public static long[] simp (long [] a) {
long c = a[0];
long d = a[1];
if ( a[0]<0 ) {
a[0] = -1*a[0];
}
if (a[1]>a[0]) {
long v = a[0];
a[0]=a[1];
a[1]=v;
}
while (a[1] > 0) {
long t = a[0];
a[0] = a[1];
a[1] = t%a[1];
System.out.println(a[0]+"/"+a[1]);
}
a[0] = c/a[0];
a[1] = d/a[0];
System.out.println(a[0]+"/"+a[1]);
return a;
}
我按照欧几里得算法的步骤,但当一个被零除的问题出现时,我惊呆了,我不知道这是怎么发生的。
1条答案
按热度按时间nmpmafwu1#
问题出在下面两行。
第一个语句将使[0]为0,因为c为0。下一个语句将为1/0。