有理循环小数
package com.zh.test;
/* 有理循環(huán)小數(shù)
1/7 = 0.142857142... 是個(gè)無(wú)限循環(huán)小數(shù)。
任何有理數(shù)都可以表示為無(wú)限循環(huán)小數(shù)的形式。
本題目要求即是:給出一個(gè)數(shù)字的循環(huán)小數(shù)表示法。
例如:
輸入:
1,5
則輸出:
0.2 輸入:
1,7
則輸出:
0.[142857]
輸入:
7,6
則輸出:
1.1[6]
用戶(hù)輸入的格式是:
整數(shù),整數(shù)
每個(gè)整數(shù)范圍均為:1~1000
程序輸出兩個(gè)整數(shù)做除法產(chǎn)生的小數(shù)或無(wú)限循環(huán)小數(shù)(循環(huán)節(jié)用方括號(hào)括起)。 */ 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>();//記錄余數(shù)StringBuffer buffer=new StringBuffer();//添加商 也就是結(jié)果buffer.append(m/n+".");m = m%n; //得到余數(shù)while(m != 0){ //余數(shù)為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); //添加余數(shù)buffer.append(m*10/n); //添加商
}m = m*10% n;}System.out.println(buffer.toString());}}
?
轉(zhuǎn)載于:https://www.cnblogs.com/shaoshao/p/3608496.html
總結(jié)
- 上一篇: ASP.NET MVC 学习6、学习使用
- 下一篇: 转:如何进行软件架构设计?