| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2008 人关注过本帖
标题:为什么会进入死循环,哪里出了问题?
只看楼主 加入收藏
yeyeyeyue
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2014-11-26
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:49 
为什么会进入死循环,哪里出了问题?
求s=1+1/2+1/3+1/4......+1/N, 当 s>25 时退出,求此时的最大的 N 值

clear
s=0
n=1
do while .t.
   s=s+1/n
   if s>25
     exit
   endif
n=n+1
enddo
?n
搜索更多相关主题的帖子: 最大的 
2014-12-03 10:24
zyxxzhyg
Rank: 3Rank: 3
来 自:江西
等 级:论坛游侠
威 望:5
帖 子:58
专家分:134
注 册:2014-6-26
收藏
得分:2 
这个s值你学过积分就知道不可能大于3,怎么会大于25呢,当不会退出了
2014-12-03 10:51
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:2 
可以想象  这是一个非常巨大的数字

我都跑到7位数了  结果才是14点多一些   距离25还非常遥远

DO IT YOURSELF !
2014-12-03 10:57
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:2 
代码没有问题,并且没有进入死循环,如果当N=1000000时,1/1000000=0.0000001,当N的值越大,1/N的值越小,这个道理楼主应该能明白吧
可以将条件修改下,当S>10时退出DO WHILE ENDDO

clear
s=0
n=1
do while .t.
   s=s+1/n
   if s>10
     exit
   endif
n=n+1
?s,n && 看下结果
enddo
?n

坚守VFP最后的阵地
2014-12-03 10:57
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10606
专家分:43182
注 册:2014-5-20
收藏
得分:2 
n-->∞, 1/n-->0
2014-12-03 11:01
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
很想看看这个极限是多少   

先上个pp   然后继续跑着  看看究竟能跑到多少

图片附件: 游客没有浏览图片的权限,请 登录注册

DO IT YOURSELF !
2014-12-03 11:10
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10606
专家分:43182
注 册:2014-5-20
收藏
得分:0 
近似公式:
1+1/2+1/3+……+1/n≈lnn+C
其中,lnn是n的自然对数,C=0.5772……叫做欧拉常数
有兴趣可关注“调和数列”
2014-12-03 11:10
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用吹水佬在2014-12-3 11:10:43的发言:

近似公式:
1+1/2+1/3+……+1/n≈lnn+C
其中,lnn是n的自然对数,C=0.5772……叫做欧拉常数
有兴趣可关注“调和数列”

按照你这个公式  想达到25 至少也得算到11位数  大约百亿左右

DO IT YOURSELF !
2014-12-03 11:16
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10606
专家分:43182
注 册:2014-5-20
收藏
得分:0 
如果要算到 s>25, n 要接近 10^11 了,有耐心可以等出结果。
2014-12-03 11:28
yeyeyeyue
Rank: 1
等 级:新手上路
帖 子:65
专家分:0
注 册:2014-11-26
收藏
得分:0 
以下是引用wp231957在2014-12-3 11:10:30的发言:

很想看看这个极限是多少   
 
先上个pp   然后继续跑着  看看究竟能跑到多少
 
哈哈,真能到 25 啊
2014-12-03 12:26
快速回复:为什么会进入死循环,哪里出了问题?
数据加载中...
 
   



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

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