java求两个数后小数点默认无限长度

来源:互联网 发布:软件测试团队建设 编辑:程序博客网 时间:2024/05/18 01:38

闲来没事,写个求两个数相除,想看看后面的小数,此算法可快速算出小数点后千万位。

import java.io.BufferedWriter;import java.io.File;import java.io.FileWriter;import java.util.ArrayList;import java.util.List;public class CopyOfChuFa {public static void main(String[] args)throws Exception {int a=1;//被除数int b=14754359;//除数int n=0;//小数点后循环次数int f;//每次相除余数int l=a%b;//第一次相除的余数long k=0;//用来记录小数点后位数File file=new File("E:/["+a+","+b+"]-result.txt");//删除上传计算结果文件if(file.exists()){file.delete();}FileWriter fw=new FileWriter(file,true);BufferedWriter bw=new BufferedWriter(fw);bw.write(a/b+".");f=a%b;a=f*10;List<Integer> result=new ArrayList<Integer>();while(f!=0&&n!=1){//整除或者算到第一重循环就结束result.add(a/b);f=a%b;a=f*10;//f==l表示到小数点循环开始,f==0表示两个数可以整除if(f==l||f==0){n++;}k++;//每隔700万就写入到文件中if(k%7000000==0){for(int i=0;i<7000000;i++){bw.write(result.get(i)+"");}result=new ArrayList<Integer>();}}System.out.println(k);//将最后的结果追加到文件末尾for(int i=0;i<result.size();i++){bw.write(result.get(i)+"");}bw.close();}}

下面是计算出来的部分结果

0.00000006777658046683017540782354557049886070957064281816648219011073269940090247227954803051762533363868942052989221693738101397695420045018560277677939109384555438836753260511012372682540800315350873596067440137521392830417099109490286904365008334147217103772519023022281076392407152354094135841482506966246381831972503854623572599799150881444595458196455705056383676173258357072645446677825854718595365613646787366364069086295107771201717404327765103180693922385919984731291952432498084125511653878016659347925585923454892211854137478964691044863419684989364837876047343025881368346805171271757722582187406447138774378473507388562254720791326820772085049577551962779270858191806231636359126140281661846509224833149308621269144935405191103185167176696730776308208306440151008932343316304015647172472894281615351775024587648978854316883573186744337724193914489948360345576517421055025162394381213036771031530410775554532731648999458397345489560068316082047346143604069820993240031640818825134999087388344014131688133655958893232840545631294453388317310158984202566848210755885769080174882555046952565001298938164646800311690938250858610665498921369610160631173472192184018295881237538004870289519185482744455384337604907132868327251627807077216977030313550049853063762376935521224608944380436994924686324902355974935949437044333813485221553847239314157938003270762220。。。

第一重循环小数点就有7122780位,算出来的文件6.79M。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 山姆会员亲友卡怎么办 门面门口修路房租怎么办 快手直播不推送怎么办 小孩出豆子发热怎么办 嘴巴边长痘痘怎么办 种四天豆子没出怎么办 吃了豆子放屁怎么办 ios11软件不兼容怎么办 手机安装不上怎么办 opp0商店没有了怎么办 华硕打不开机怎么办 飞利浦电视待机打不开怎么办 微信支付扫码牌怎么办 微信付款没扣钱怎么办 移动充值卡有效期到了怎么办 联华提货券过期怎么办 狗吃了西红柿怎么办 加盟总店关了怎么办 欧亚超市购物卡怎么办 欠招行信用卡一万多逾期怎么办 白条取现失败怎么办 啤酒喝醉了难受怎么办 喝啤酒喝醉头疼怎么办 运动鞋鞋子大了怎么办 运动鞋买大一号怎么办 跑鞋买大了怎么办 鞋子大一个手指怎么办 一体式手机死机怎么办 ivvi手机声音小怎么办 单位欠缴社保怎么办 哆点错误代码1怎么办 忘记密码怎么办简单一点 智校园忘记密码怎么办 wps图片显示空白怎么办 dr.com闪退怎么办 联想笔记本连不上无线网络怎么办 长时间不用电池休眠怎么办? 校园电信卡欠费怎么办 校园联通卡欠费怎么办 校园网等不上怎么办 app显示尚未授权怎么办