| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 6156 人关注过本帖, 1 人收藏
标题:1到100的倒数和,精确到1000位。
取消只看楼主 加入收藏
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
结帖率:100%
收藏(1)
 问题点数:0 回复次数:6 
1到100的倒数和,精确到1000位。
code放在我的github上。

https://

wxjeacen-BigFloat.zip (7.46 KB)


[ 本帖最后由 Devil_W 于 2011-11-1 13:42 编辑 ]
搜索更多相关主题的帖子: 倒数 
2011-11-01 13:18
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
收藏
得分:0 
Output
[devil@devil BigFloat]$ ./test
Exponent: 2    Sign:1
  data: a5feff22 c89214b2  d770719  d99b37dd
  double 5.187377     5.187377e+00  in hex  4014bfdf e4591242

HERE 2Fraction Portion in Decimal:
 X.1873  77517  63962  02608  05117  67565  82531  57908  97212  67084  51653  17653  39565  87219  55753  25504  96605  68776  89231  20413  55295  13729  00080  95948  57643  34902  00385  92512  84547  47939  96064  88677  71935  64377  01034  35141  75016  28003  61213  38139  36340  33610  39717  02581  50385  60922  97609  25775  85249  02420  15786  45412  34138  33660  91898  70602  75907  25350  45125  82948  80752  78667  39590  39471  47093  77905  50997  16639  09084  58081  62227  56304  90129  70190  81913  72383  37761  50679  34448  25921  99857  86828  21628  01409  88475  65117  48677  66685  16076  47304  29716  98331  00520  63466  70100  84056  63630  74064  66704  36720  82797  50503  29078  64094  55799  52223  17246  19981  52578  70210  68180  73281  19172  31710  32278  16361  52457  43308  95698  08211  07867  94204  45116  93289  00410  05794  05651  63334  35224  43887  66863  15732  38182  50401  27713  12465  50164  87934  89552  99573  04804  04107  36739  78372  70832  87179  92861  51069  59660  50114  52656  58411  57295  93729  01925  82434  43772  63363  76194  53301  79050  75097  60674  01752  05276  89174  82329  22334  18725  01778  81689  09287  17126  73549  16558  92174  57070  88410  53110  65936  88725  27322  60150  28075  65195  86504  47536  35905  71982  92960  73203  26694  40990  75371  65381  79829  84147  68319  13742  24731  56306
2011-11-01 13:38
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
收藏
得分:0 
以下是引用czz5242199在2011-11-1 14:22:07的发言:

没仔细看你的程序,不知道你是否考虑到了进位的问题,进一步说,我们首先不考虑你的答案是不是正确的,只考虑算法的设计是否有漏洞,因为这本来就是个思路不难的模拟题

题目要求到1000位,而第1000位有可能会由第1001位进位而来,1001位又可能由1002位进位而来,那么从理论上来说,要从多少位开始算才行呢?我稍微看了一下你的程序好像是从1020开始计算的,但是这样实际上可能对这个数据而言,答案是正确的,但对于某些极限数据(学过acm的都知道acm题会有各种极限数据的),你的程序应该会出现错误的结果。到底怎么计算,我觉得你可以再考虑一下


菜鸟请一边去。
2011-11-01 14:26
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
收藏
得分:0 
回复 8楼 beyondyf
Show your code.
2011-11-01 21:19
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
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
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
快速回复:1到100的倒数和,精确到1000位。
数据加载中...
 
   



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

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