主题:这是我们的竞赛题,看你们能做出来几道
Matodied
[专家分:7560] 发布于 2007-04-19 20:18:00
(各题加分:20 10 20 30)
1、字符串匹配问题:输入一个带括号的字符串,(四种括号:( ) < > [ ] { })如果
括号全部成对出现,并且顺序正确,称为匹配,否则不匹配。
示例:
匹配的字符串:(ABC[D{E}]FGH)、<ERROR>、(<[1234{5}]>)
不匹配的字符串:(34789、(A[BC)DEF]、(<6667}
如果输入的字符串没有括号,如ABCD,则让你重新输入。
2、任何一个数的三次方都能表示成一串奇数的和,如3^3=11+9+7,现输入一个数,把这串奇数打印出来。
如:输入4,输出19+17+15+13=64=4^3。
3、有N个人要接受检测,每个人检测的时间为3-7分钟,现有三个检测员同时检测,求要多长时间。
4、输入N,输出N!的最后一位非0的数字(10000<N<10000000000)。
回复列表 (共67个回复)
61 楼
Mato完整版 [专家分:1270] 发布于 2008-04-20 17:31:00
我已经把第一题做出来了。
这帖子沉在这里好长时间了,现在顶一下,希望有更多人能回答我这些问题。
62 楼
世界第一 [专家分:210] 发布于 2008-04-21 12:35:00
1.
cls
dim a$(1000)
10 input a$
la=len(a$)
for i=1 to la
if a$(i)="(" or a$(i)=")" or a$(i)="<" or a$(i)=">" or a$(i)="[" or a$(i)="]" or a$(i)="{" or a$(i)="}" then o=1
a$(i)=mid$(a$,i,1)
next i
if o=0 then 10
for i=1 to la
if a$(i)="(" then a=a+1
if a$(i)=")" then a=a+1
if a$(i)="<" then b=b+1
if a$(i)=">" then b=b+1
if a$(i)="[" then c=c+1
if a$(i)="]" then c=c+1
if a$(i)="{" then d=d+1
if a$(i)="}" then d=d+1
next i
if a=1 or b=1 or c=1 or d=1 then print "不匹配" else print "匹配"
end
4.
cls
input n
for i=1 to n
a=a*i
if a mod 10=0 then a=(a mod 100)\10
next i
print a
63 楼
Mato完整版 [专家分:1270] 发布于 2008-04-21 21:53:00
LS:你以为我们区里复赛考试题就这么简单吗?你的程序全错了!
64 楼
Mato完整版 [专家分:1270] 发布于 2008-04-22 09:57:00
你们以后想得分的话到这个帖子里回:
[url]http://bbs.pfan.cn/post-273835.html[/url]
65 楼
ZZTTKK1 [专家分:0] 发布于 2010-08-26 19:44:00
f(10) =8
f(100) =4
f(1000) =4
f(10000) =2
f(100000) =8
f(50) =2
f(500) =4
f(5000) =2
f(50000) =8
f(500000) =2
上述应该是正确的
66 楼
905482852 [专家分:380] 发布于 2010-08-30 18:29:00
OPEN "PIPEI.IN" FOR INPUT AS #1
OPEN "PIPEI.OUT" FOR OUTPUT AS #2
INPUT #1, A$
FOR I = 1 TO LEN(A$): W$ = MID$(A$, I, 1)
IF W$ = "(" OR W$ = ")" OR W$ = "<" OR W$ = ">" OR W$ = "[" OR W$ = "]" OR W$ = "{" OR W$ = "}" THEN X$ = X$ + W$
NEXT I: IF LEN(X$) MOD 2 = 1 THEN PRINT #2, "0": CLOSE : END
W$ = MID$(X$, 1, 1): IF W$ = ")" OR W$ = ">" OR W$ = "]" OR W$ = "}" THEN PRINT #2, "0": CLOSE : END
L = LEN(X$)
FOR I = 1 TO L: W$ = MID$(X$, I, 1):
IF W$ = "(" OR W$ = "<" OR W$ = "[" OR W$ = "{" THEN 1
P$ = MID$(X$, I - 1, 1)
IF P$ = ">" AND W$ <> "<" THEN PRINT #2, "0": CLOSE : END
IF P$ = ")" AND W$ <> "(" THEN PRINT #2, "0": CLOSE : END
IF P$ = "]" AND W$ <> "[" THEN PRINT #2, "0": CLOSE : END
IF P$ = "}" AND W$ <> "}" THEN PRINT #2, "0": CLOSE : END
X$ = MID$(X$, 1, I - 2) + MID$(X$, I + 1): L = LEN(X$)
IF X$ <> "" THEN I = 1
1 NEXT I
IF X$ = "" THEN PRINT #2, "1": CLOSE : END
67 楼
905482852 [专家分:380] 发布于 2010-08-30 18:30:00
4.
OPEN "NOTZERO.IN" FOR INPUT AS #1
OPEN "NOTZERO.OUT" FOR OUTPUT AS #2
DEFDBL A-Z
INPUT #1, N: X = 1
FOR I = 2 TO N: T = I
WHILE T - INT(T / 10) * 10 = 0: T = INT(T / 10): WEND
T = VAL(RIGHT$(LTRIM$(STR$(T)), 5))
X = X * T
WHILE X - INT(X / 10) * 10 = 0: X = INT(X / 10): WEND
X = VAL(RIGHT$(LTRIM$(STR$(X)), 5))
NEXT I
PRINT #2, VAL(RIGHT$(LTRIM$(STR$(X)), 1))
END
我来回复