编写程序的问题

来源:百度知道 编辑:UC知道 时间:2024/06/11 14:00:34
编写一个程序,计算s=a+aa+aaa+……+aaa……aa的值。a是正整数,且a大于等于9.要求输入a和相加的数的个数n

(是高一的数学题,程序语句只有while,do loop until,if then,这最基本的几种)

我是这么答的,请帮我看看可以吗?错了的话如何修改?

INPUT "a,n=";a,n
S=0
i=1
DO
a=10*a+a
S=S+a
i=i+1
LOOP UNTIL i>n
PRINT "S=",S
END
a是小于等于9,原题打错了

这个应该不对!
1、输入了a,那么a应该为变量,但是一但给定一个数后,就不能再使用它作变量了!
2、题目也很拗口,可能也有点问题。
3、题目的意思可能是:输入a的值,再输入最后一个加数a,通过a的个数n来确定!
4、所以a应该是小于等于9
5、程序本身问题不大
需要修改的是:
a=10*a+a
S=S+a

整合一句:S=S+10*a+a

这样就可以了!

以a=1,n=3为例
i=1时,a=1+10
i=2时,a=(1+10)10+1
i=3时,a=((1+10)10+1)10+1

如果我上面没有算错的话,那么你的程序就错了

举最简单的例子,n=1的时候
s应该是等于a的

你的程序却等于10*a+a

input 请输入数字a和加数的个数n:";a,n
s=0
b=a
i=1
do
b=10*10+a
i=i+1
loop until i>n
print "s=";s
end