zoukankan      html  css  js  c++  java
  • 有理循环小数

    package com.zh.test;
    /*  有理循环小数 
    1/7 = 0.142857142... 是个无限循环小数。 
    任何有理数都可以表示为无限循环小数的形式。 
    本题目要求即是:给出一个数字的循环小数表示法。 
    例如: 
    输入: 
    1,5 
    则输出: 
    0.2 
     
    输入: 
    1,7 
    则输出: 
    0.[142857] 
    输入: 
    7,6 
    则输出: 
    1.1[6] 
    用户输入的格式是: 
    整数,整数 
    每个整数范围均为:1~1000 
    程序输出两个整数做除法产生的小数或无限循环小数(循环节用方括号括起)。 
     */  
    
    import java.util.ArrayList;
    
    public class Test11 {
    
        /**
         * @param args
         */
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            f(3,9);
        }
        
        public static void f(int m,int n){
            ArrayList<Integer> list=new ArrayList<Integer>();//记录余数
            StringBuffer buffer=new StringBuffer();//添加商 也就是结果
            buffer.append(m/n+".");
            m = m%n;  //得到余数
            while(m != 0){ //余数为0
                if(list.contains(m)){
                    System.out.println("ddd");
                    int i=0;
                    for(;i<buffer.length();i++){
                        if(buffer.charAt(i) - '0' == m*10/n){
                            break;
                        }
                    }
                    
                    buffer.insert(i, '[');
                    buffer.insert(buffer.length(), ']');
                    break;
                }else{
                    list.add(m);  //添加余数
                    buffer.append(m*10/n);  //添加商
                }
                
                m = m*10% n;
            }
            System.out.println(buffer.toString());
        }
    
    }
  • 相关阅读:
    Task 4.5 求二维数组中的最大连通子数组之和
    Task 6.4 冲刺Two之站立会议4
    《程序员开发心理学》阅读笔记二
    第二次站立会议9
    第二次站立会议8
    第二次站立会议7
    第二次站立会议6
    第二次站立会议5
    第二次站立会议4
    第二次站立会议3
  • 原文地址:https://www.cnblogs.com/shaoshao/p/3608496.html
Copyright © 2011-2022 走看看