有理数有限小数或无限循环小数有一一对应的关系。本小节练习由有理数的比值表示求它的无限循环小数表示,其关键是求出循环节内的小数数位。
package NO5;
import java.util.ArrayList;
import java.util.List;
public class Test11 {
static void f(int a, int b){
List t1 = new ArrayList(); //商
List t2 = new ArrayList(); //余数
int p = - 1;//循环节的起始位置
while(true){
t1.add(a/b);
int x = a % b;
if(x == 0) break;
p = t2.indexOf(x);
if(p >= 0) break;
else
t2.add(x);
a = x*10;
}
//System.out.println(t1.size());
System.out.print(t1.get(0)+".");
for(int i = 1; i < t1.size();i++){
if(i == p + 1)System.out.print("[");
System.out.print(t1.get(i));
}
if(p >= 0)
System.out.println("]");
}
public static void main(String[] args) {
// TODO Auto-generated method stub
f(2, 5);
}
}
我需要去发现我真正擅长的,有时候真讨厌和数字打交道= =
艾玛