有理循环小数
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 stubf(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){ //余數為0if(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());}}
?
轉載于:https://www.cnblogs.com/shaoshao/p/3608496.html
總結
- 上一篇: ASP.NET MVC 学习6、学习使用
- 下一篇: 继续C#开发or转做产品