编写出1为分子,2017为分母,将两个数相除。
1.打印出小数点后10位数字。
2.打印出小数点后20位数字。
3.打印出小数点后40位数字。
4.打印出小数点后80位数字。
5.打印出小数点后160位数字。
6.打印出小数点后320位数字。
7.打印出小数点后640位数字。
8.打印出小数点后1280位数字。
9.打印出小数点后2560位数字。
10.打印出小数点后5120位数字。
11.问题来了,小数点后面的数字显然是无限重复的,那么,将重复的数字段找出来打印,告诉我这个数字段的长度是多长呢?
12.尝试找一下分子为1,分母为x,将两个数相除得到的商小数点后重复的数字段长度为2017,请计算x的值。

解决方案 »

  1.   

    为什么我觉得打印那个地方也很难啊- -  11和12题的话应该用正则匹配到  就能做了  只是我不会匹配- -
    public class wangluoti { /**
     * @param args
     */
    public static void main(String[] args) {
    int jg [] = get(1,2017,5120);//get参数1为分子,参数2为分母,参数3为打印小数点后N位数字
    for (int i = 0; i < jg.length; i++) {
    if(i%2000==0){
    System.out.println();
    }
    if(i==1){
    System.out.print(".");
    }
    System.out.print(jg[i]);
    }
    }
    public static int[] get(int a,int b,int geshu){
    int jieguo[]= new int[geshu];
    int cishu = 0;
    while(a/b==0){
    jieguo[cishu] = 0;
    a=a*10;
    cishu++;
    }
    for(int i=cishu;i<geshu;i++){
    jieguo[i]=a/b;
    a=a%b*10;
    }
    return jieguo;
    }
    }