问一个简单的数学题.小学数学题`!

RayLynn 2006-10-07 02:14:24
1 + (-2) + (-2) ^ 2 + (-2) ^ 3 ... + (-2) ^ 2006 = ?
...全文
306 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
RayLynn 2006-10-18
  • 打赏
  • 举报
回复
是否有数学公式?非程序问答`
northwolves 2006-10-09
  • 打赏
  • 举报
回复
1 + (-2) + (-2) ^ 2 + (-2) ^ 3 ... + (-2) ^ 2006 = (1+2^2007)/3

2^2007=14696072899510457910180264975074329395485666586735298566113827031369808145822340017365241424851280254956108347379039523500123122699047108242251921358933160773008638610599971840088163730974725743542902654728126239332046779346737710585256579333179693308275839559444787047544912589519783891140629020412202583212053620350010688717104574055412999539319651392054912347738448106306817040926244005345442289064602444671410741520258787821875717396461207456197233847539467765831034596299478021012490490523728714592688694474716929987628644661687302977141155300336976022455747686505323874664699578081559660947075760128
结果 605 位

(1+2^2007)/3=4898690966503485970060088325024776465161888862245099522037942343789936048607446672455080474950426751652036115793013174500041040899682369414083973786311053591002879536866657280029387910324908581180967551576042079777348926448912570195085526444393231102758613186481595682514970863173261297046876340137400861070684540116670229572368191351804333179773217130684970782579482702102272346975414668448480763021534148223803580506752929273958572465487069152065744615846489255277011532099826007004163496841242904864229564824905643329209548220562434325713718433445658674151915895501774624888233192693853220315691920043
northwolves 2006-10-09
  • 打赏
  • 举报
回复
1 + (-2) + (-2) ^ 2 + (-2) ^ 3 ... + (-2) ^ 2006 应该是大于○的。
snowman1123 2006-10-09
  • 打赏
  • 举报
回复
由于数据太大,结果会溢出,不过有一种方法可以解决溢出的问题,把问题分解后就变成了一个递归问题和一个加法问题.
解决溢出问题:
一般我们会用一个变量来存放一个值,但由于类型问题,当存放的值过大时会产生溢出.所以我们可以考虑用另一种方式来存放,用一个数组来存放,比如long a = 1000
char b[4];
b[0]=0
b[1]=0
b[2]=0
b[3]=1

只所以把低位放前面是考虑到进位的问题
通过这番变化,我们就可以把一个很大很大的数存放起来了,要输出时就用个循环搞定它
wlwlxj 2006-10-09
  • 打赏
  • 举报
回复
这么大量计算,我看还是的其他方法
先用等比数列公式求出表达市,再来做
wuliming3 2006-10-09
  • 打赏
  • 举报
回复
忘了JF了
wuliming3 2006-10-09
  • 打赏
  • 举报
回复
数据溢出……

蓝屏

重起

然后删掉刚写的东西……
guoguo1982 2006-10-09
  • 打赏
  • 举报
回复
最好先动动脑筋
viena 2006-10-08
  • 打赏
  • 举报
回复
晕~
lsftest 2006-10-08
  • 打赏
  • 举报
回复
晕。。。等比数列还用程序算。。。
1 + (-2) + (-2) ^ 2 + (-2) ^ 3 ... + (-2) ^ 2006 = (1-2^2006)/3

2^2006有六百多位,考的应该不是这个吧。。。。

zzyong00 2006-10-08
  • 打赏
  • 举报
回复
大哥:
1,你用了递归,而且递归还没有出口,最后就是死机!
2,你没有去调用test函数
3,2006,太大,结果是NaN。

以下也可以,效率太低
<script language="javascript">

var v1 = 1;
for(var i=1;i<=6;i++)
{
var v2 = 1;
for(var j=1;j<=i;j++)
{
v2 = v2 * (-2);
}
v1 = v1 + v2;
document.write(v1 + "</br>");
}
document.write(v1);
</script>
niu251110 2006-10-07
  • 打赏
  • 举报
回复
sdfsd
niu251110 2006-10-07
  • 打赏
  • 举报
回复
sdfsd
niu251110 2006-10-07
  • 打赏
  • 举报
回复
ding
RayLynn 2006-10-07
  • 打赏
  • 举报
回复
RayLynn 2006-10-07
  • 打赏
  • 举报
回复
<script language="javascript">
function test()
{
var v1 = 1;
for(var i=1;i<=2006;i++)
{
var v2 = 1;
for(var j=1;j<=i;j++)
{
v2 = v2 * (-2);
}
v1 = v1 + v2;
document.write(v1 + "</br>");
}
document.write(v1);
}
test();
</script>

JS代码有没有错?

居然得不到数据!不知道什么问题!

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧