| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6156 人关注过本帖, 1 人收藏
标题:1到100的倒数和,精确到1000位。
只看楼主 加入收藏
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
收藏
得分:0 
以下是引用beyondyf在2011-11-1 21:29:52的发言:

呵呵,不想等等了?如果公布代码后证明我是对的,那一百分可不给你了


你不会用的java的BigFloat库吧。。
2011-11-01 21:37
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
回复 11楼 Devil_W
纯C语言

重剑无锋,大巧不工
2011-11-01 21:49
qizhongshun
Rank: 2
等 级:论坛游民
威 望:1
帖 子:31
专家分:26
注 册:2011-9-16
收藏
得分:0 
,
2011-11-01 22:04
我不是大虾
Rank: 2
等 级:论坛游民
帖 子:38
专家分:29
注 册:2011-10-26
收藏
得分:0 
新人汗颜
2011-11-01 22:24
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
程序代码:
import java.math.BigDecimal;
import java.math.MathContext;

public class Precision1000 {
    public static void main(String[] args) {
        MathContext mc = new MathContext(1001);    // 舍入1001位
        BigDecimal result = new BigDecimal(0);
        for (int i = 1; i <= 100; i++)
            result = result.add(new BigDecimal(1).divide(new BigDecimal(i), mc));
        System.out.println(result.toPlainString().substring(0, 1002));    // 丢弃1001位
    }
}
/*
5.187377517639620260805117675658253157908972126708451653176533956587219557532550
49660568776892312041355295137290008095948576433490200385925128454747939960648867
77193564377010343514175016280036121338139363403361039717025815038560922976092577
58524902420157864541234138336609189870602759072535045125829488075278667395903947
14709377905509971663909084580816222756304901297019081913723833776150679344482592
19985786828216280140988475651174867766685160764730429716983310052063466701008405
66363074064667043672082797505032907864094557995222317246199815257870210681807328
11917231710322781636152457433089569808211078679420445116932890041005794056516333
43522443887668631573238182504012771312465501648793489552995730480404107367397837
27083287179928615106959660501145265658411572959372901925824344377263363761945330
17905075097606740175205276891748232922334187250177881689092871712673549165589217
45707088410531106593688725273226015028075651958650447536359057203445963608859343
613614107827432299636252554316432574546812
*/
看来beyondyf是对的,除非Java类库算法有误。

[ 本帖最后由 lz1091914999 于 2011-11-2 12:43 编辑 ]

My life is brilliant
2011-11-02 12:33
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
收藏
得分:0 
以下是引用lz1091914999在2011-11-2 12:33:25的发言:

import java.math.BigDecimal;
import java.math.MathContext;

public class Precision1000 {
    public static void main(String[] args) {
        MathContext mc = new MathContext(1001);    // 舍入1001位
        BigDecimal result = new BigDecimal(0);
        for (int i = 1; i <= 100; i++)
            result = result.add(new BigDecimal(1).divide(new BigDecimal(i), mc));
        System.out.println(result.toPlainString().substring(0, 1002));    // 丢弃1001位
    }
}
/*
5.187377517639620260805117675658253157908972126708451653176533956587219557532550
49660568776892312041355295137290008095948576433490200385925128454747939960648867
77193564377010343514175016280036121338139363403361039717025815038560922976092577
58524902420157864541234138336609189870602759072535045125829488075278667395903947
14709377905509971663909084580816222756304901297019081913723833776150679344482592
19985786828216280140988475651174867766685160764730429716983310052063466701008405
66363074064667043672082797505032907864094557995222317246199815257870210681807328
11917231710322781636152457433089569808211078679420445116932890041005794056516333
43522443887668631573238182504012771312465501648793489552995730480404107367397837
27083287179928615106959660501145265658411572959372901925824344377263363761945330
17905075097606740175205276891748232922334187250177881689092871712673549165589217
45707088410531106593688725273226015028075651958650447536359057203445963608859343
613614107827432299636252554316432574546812
*/


别过来丢人现眼了。java.math包又不是你写的。
2011-11-02 12:43
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
黑猫白猫,抓住老鼠就是好猫,那我就开始送分了。

[ 本帖最后由 beyondyf 于 2011-11-2 12:48 编辑 ]

重剑无锋,大巧不工
2011-11-02 12:46
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
收藏
得分:0 
以下是引用beyondyf在2011-11-2 12:46:28的发言:

黑猫白猫,抓住老鼠就是好猫,那我就开始送分了。


希望你 share 你的code.
2011-11-02 13:05
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
回复 16楼 Devil_W
我只是想看看谁做对了而已。

My life is brilliant
2011-11-02 13:08
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
回复 15楼 lz1091914999
李志同学用JAVA多长时间了?最近一个朋友邀请我做android项目。之前没用过JAVA,找了本书在看。有机会我们可以交流一下JAVA心得

重剑无锋,大巧不工
2011-11-02 13:17
快速回复:1到100的倒数和,精确到1000位。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.038219 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved