主题:用递归做 a+aa+aaa+……+N个a!!在这先谢谢了!
xianwen1
[专家分:0] 发布于 2005-09-20 21:46:00
用递归做 a+aa+aaa+……+n个a!! n和a 由键盘输入!!!!!!!!!!!!!!!!!!!!11!!!!1
帮帮忙!!
回复列表 (共5个回复)
沙发
xianwen1 [专家分:0] 发布于 2005-09-20 21:45:00
帮帮忙啊!
我这个题目我不会做! 我还要叫作业的!
哪位大哥指点指点啊!!!!!!!!!!!
板凳
moz [专家分:37620] 发布于 2005-09-20 22:34:00
deflng a-n
do
input "a=",a
loop until (a<10 and a>0)
do
input "n=",n
loop until (n>0 and n<16383)
for i=n to 1 step -1
k=i*a+k
b=k mod 10
k=k\10
s$=chr$(48+b)+s$
next
if k>0 then s$=str$(k)+s$
print s$, "够不够猛?"
3 楼
xianwen1 [专家分:0] 发布于 2005-09-20 22:51:00
我怎么看不懂?
我门现在学的递归是 在SUB中调用的!
用CALL调用!
4 楼
moz [专家分:37620] 发布于 2005-09-20 23:36:00
又要做作业?
唉,真伤心。
逃了那么多年还是逃不过作业。
既然是做作业嘛,水平当然不可以太高,要求也不会太高,呵呵
CALL 递归:
----------------------------------------------
input "a=",a
input "n=",n
call na(n,a,s)
print s
sub na(n,a,s)
b=a
for i=1 to n
s=s+b
b=b*10
next
n=n-1
if n>0 then call na(n,a,s)
end sub
-------------------------------------------
函数递归:
---------------------------------------
input "a=",a
input "n=",n
s=na(n,a)
print s
function na(n,a)
if n>0 then s=na(n-1,a)
b=a
for i=1 to n
s=s+b
b=b*10
next
na=s
end function
----------------------------------------
还要不要?下面这个程序写上去老师不知道受不受得了喔
--------------------------------------------------
input "a,n",a,n
print na(n,val(string$(n,48+a)))
function na(n,a)
if n>0 then na=a+na(n-1,a\10)
end function
--------------------------------------------------
5 楼
xianwen1 [专家分:0] 发布于 2005-09-21 20:45:00
谢谢了挖!· 厉害的!!!!!!!!!!!!!!!!!!!!!!
我来回复