主题:来就送分(2)
wangyunchaoPIG
[专家分:130] 发布于 2007-05-04 14:22:00
因一个主题每各人最多只能锝50分,所以,如果你发现你在"来就送分"帖子中有的尚未评分,请把帖子复制到这里来,继续加分!特此通知!
回复列表 (共23个回复)
21 楼
Lovely哆啦 [专家分:1360] 发布于 2007-07-20 09:38:00
CLS
INPUT n, m
PRINT n; "^"; m; "=";
IF m = 0 THEN PRINT 1: END
DIM a(n), b(n), s(n): l$ = "1"
FOR i = 1 TO m
ERASE a, b, s
a$ = l$: b$ = LTRIM$(STR$(n))
GOSUB gjdmult
l$ = ""
FOR j = ls TO 1 STEP -1
l$ = l$ + RTRIM$(LTRIM$(STR$(s(j))))
NEXT j
NEXT i
PRINT " "; l$: END
gjdmult: la = LEN(a$): lb = LEN(b$): DIM a(la), b(lb), s(la + lb)
FOR k = 1 TO la: a(k) = VAL(MID$(a$, la + 1 - k, 1)): NEXT k
FOR k = 1 TO lb: b(k) = VAL(MID$(b$, lb + 1 - k, 1)): NEXT k
FOR k = 1 TO la: FOR l = 1 TO lb
d = a(k) * b(l): v = k + l - 1
s(v) = s(v) + d MOD 10: s(v + 1) = s(v + 1) + s(v) \ 10 + d \ 10
s(v) = s(v) MOD 10
NEXT l, k
IF s(la + lb) = 0 THEN ls = la + lb - 1 ELSE ls = la + lb
RETURN
22 楼
Lovely哆啦 [专家分:1360] 发布于 2007-07-20 09:38:00
发表时间:2007-5-4 16:58:00 [回复] [引用]
3 楼
阶乘
CLS
DIM a(100), b(100)
10 INPUT n
IF n > 50 THEN GOTO 10
a(1) = 1: m = 1
FOR i = 1 TO n
FOR j = m TO 1 STEP -1
a(j) = a(j) * i
IF a(j) > 99 THEN
a(j + 1) = a(j + 1) + a(j) \ 100
a(j) = a(j) MOD 100
END IF
NEXT j
IF a(m + 1) > 0 THEN m = m + 1
FOR w = m TO 1 STEP -1
b(w) = b(w) + a(w)
IF b(w) > 99 THEN
b(w + 1) = b(w + 1) + b(w) \ 100
b(w) = b(w) MOD 100
END IF
NEXT w
NEXT i
x = m
FOR i = x TO 1 STEP -1
IF b(x) > 99 THEN
b(i + 1) = b(i) \ 100
b(i) = b(i) MOD 100
IF i = x THEN m = x + 1
END IF
NEXT i
FOR i = m TO 1 STEP -1
q$ = LTRIM$(STR$(b(i)))
PRINT q$;
NEXT i
END
23 楼
yaoyusheng [专家分:460] 发布于 2007-07-21 09:18:00
一,十进制化为二进制
dim a(100)
input "x=";x
print "(";x;")10="
if x<0 then print "-";:x=-x
n=0
10 s=int(x/2)
n=n+1
a(n)=x-2*s
x=s
if x<>0 then 10
for i=n to 1 step -1
print a(i)
next i
print ";2"
end
二、二进制化为十进制
input "R$=";R$
print "(";R$;")2=("
if left$(R$,1)="-" then print "-";:R$="mid$(R$,2)
M=len(R$)
S=0
for i=1 to M
N$=mid$(R$,i,1)
N=val(N$)
S=S+N*2^(M-i)
next i
print S;")10"
end
我来回复