标题:[原创]求Sn=a+aa+aaa+……aa…a之值
只看楼主
roland772
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-6-25
 问题点数:0 回复次数:22 
[原创]求Sn=a+aa+aaa+……aa…a之值
求Sn=a+aa+aaa+……aa…a之值,其中a是一个数字。例如2+22+222+2222+22222(此时n=5),n由键盘输入.
搜索更多相关主题的帖子: aaa 数字 键盘 输入 
2007-06-25 22:37
roland772
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-6-25
得分:0 
clea
s=0
t=0
t1=""
input "请输入N的值:" to n
for i=1 to n
t1=t1+"2"
t=val(t1)
s=s+t
next
? "s="+str(s)

我自己编的哈

2007-06-25 22:38
baichuan
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:37
帖 子:953
专家分:589
注 册:2006-3-13
得分:0 
t1=t1+"2"
不对吧?
如果不是2+22。。。呢?

2007-06-26 08:11
roland772
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-6-25
得分:0 

是3就加“3”啊,依此类推


2007-06-26 15:03
Tiger5392
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:88
帖 子:2775
专家分:2237
注 册:2006-5-17
得分:0 
Clear
lnSum=0
lnN=0
Input "请输入a的值(1-9):" To lnA
Input "请输入N的值(>=1):" To lnN
If Vartype(lnA)#'N' Or Int(lnA)#lnA Or !Between(lnA,1,9)
MessageBox('输入的a是错误的,必须是1-9之间的自然数')
Return
EndIf
If Vartype(lnN)#'N' Or Int(lnN)#lnN Or lnN<=0
MessageBox('输入的N是错误的,必须是正整数')
Return
EndIf
For lnCnt=1 To lnN
lnTemp=0
For lnCount=1 To lnCnt
lnTemp=lnTemp+lnA*10^(lnCount-1)
EndFor
lnN=lnN+lnTemp
Next
? "s="+Alltrim(Str(lnSum))
Return

感言:学以致用。 博客:http://www./blog/user14/65009/index.shtml email:Tiger5392@
2007-06-26 15:17
roland772
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-6-25
得分:0 

老虎,你好,你的程序我上机调试,结果不正确。


2007-06-26 15:25
Tiger5392
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:88
帖 子:2775
专家分:2237
注 册:2006-5-17
得分:0 
以下是引用roland772在2007-6-26 15:25:52的发言:

老虎,你好,你的程序我上机调试,结果不正确。

接受。lnN=lnN+lnTemp修改为lnSum=lnSum+lnTemp


感言:学以致用。 博客:http://www./blog/user14/65009/index.shtml email:Tiger5392@
2007-06-26 15:30
roland772
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-6-25
得分:0 
这下对了。前边的
Input "请输入a的值(1-9):" To lnA
Input "请输入N的值(>=1):" To lnN
If Vartype(lnA)#'N' Or Int(lnA)#lnA Or !Between(lnA,1,9)
MessageBox('输入的a是错误的,必须是1-9之间的自然数')
Return
EndIf
If Vartype(lnN)#'N' Or Int(lnN)#lnN Or lnN<=0
MessageBox('输入的N是错误的,必须是正整数')
Return
EndIf
可改为
Input "请输入a的值(1-9):" To lnA
If Vartype(lnA)#'N' Or Int(lnA)#lnA Or !Between(lnA,1,9)
MessageBox('输入的a是错误的,必须是1-9之间的自然数')
Return
EndIf
Input "请输入N的值(>=1):" To lnN
If Vartype(lnN)#'N' Or Int(lnN)#lnN Or lnN<=0
MessageBox('输入的N是错误的,必须是正整数')
Return
EndIf

2007-06-26 15:33
roland772
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-6-25
得分:0 
老虎:
另,看了你的程序,觉得你养成了良好的代码书写及变量起名的习惯,是专业人员?
我才学习一学期,以后多多请教哈。

2007-06-26 15:50
Tiger5392
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:88
帖 子:2775
专家分:2237
注 册:2006-5-17
得分:0 
对VFP只是爱好而已。我对VFP的感言就是学以致用。

感言:学以致用。 博客:http://www./blog/user14/65009/index.shtml email:Tiger5392@
2007-06-26 16:44



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-150274-1-1.html




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

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