回 帖 发 新 帖 刷新版面

主题:这是我们的竞赛题,看你们能做出来几道

(各题加分: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 楼

我已经把第一题做出来了。

这帖子沉在这里好长时间了,现在顶一下,希望有更多人能回答我这些问题。

62 楼

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 楼

LS:你以为我们区里复赛考试题就这么简单吗?你的程序全错了!

64 楼

你们以后想得分的话到这个帖子里回:
[url]http://bbs.pfan.cn/post-273835.html[/url]

65 楼


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 楼

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 楼

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

我来回复

您尚未登录,请登录后再回复。点此登录或注册