加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

德尔福的数量巨大

发布时间:2020-12-15 09:41:35 所属栏目:大数据 来源:网络整理
导读:我正在写一个程序,我将数字乘以5 …例如: var i:integer; k:int64;begin k:=1; for i:=1 to 200000000 do begin k:=5*(k+2); end; end;end. 但是当我编译并启动我的程序时,我得到一个溢出整数错误.我怎么解决这个问题? 解决方法 k的正确值至少为5 ^ 20,000
我正在写一个程序,我将数字乘以5 …例如:

var
  i:integer;
  k:int64;
begin
  k:=1;
  for i:=1 to 200000000 do
  begin
    k:=5*(k+2);
  end;
  end;
end.

但是当我编译并启动我的程序时,我得到一个溢出整数错误.我怎么解决这个问题?

解决方法

k的正确值至少为5 ^ 20,000,或2 ^ 48,000.计算机上没有整数类型可以存储它;这是48,000位,大声喊叫.即使你将它存储在二进制文件中,也需要6,000字节 – 5.7 MB – 来存储它.你唯一的希望是精确的仲裁库,祝你好运.

你想要计算什么?你现在正在做的是计算一个数字序列(k),其中第i个元素至少与5 ^ i一样大.除非你使用其他类型的变量,否则这将无法达到i = 20,000.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读