回 帖 发 新 帖 刷新版面

主题:有题目不会做

1、【问题描述】九华小学召开秋季运动会。六(一)班的学生小杰领到了他的运动员号码“15”,由1张“1”和1张“5”,共2张号码牌组成的;他的同学张伟号码是“6”,只有1张“6”号码牌;而李飞的号码是“1111”,由4张“1”号码牌组成。爱动脑筋的小杰就想了:假设学校的运动员数是N,按1-N编号,那么分别需要“0”~“9”这十种号码牌多少张呢?请你编写一个程序,帮他计算出需要的各种号码牌张数。(24分)
【样例输入】(键盘输入运动员人数N,N<2000)
15
【样例输出】(分别对应号码0-9需要的张数)
1 8 2 2 2 2 1 1 1 1 



2、问题描述】看到自己的号码是“1111”,李飞很为自己的号码是一个靓号得意。小杰思索了一会说:“按二进制换算,我的号码才是‘1111’呢”。果然不错,十进制的“15”换算成二进制可不是“1111”吗?同学们都这样想。小杰灵机一动说:“我们来玩一个找朋友的游戏,像我的号码的二进制数里有4个‘1’,我就找号码的二进制数里也只有4个‘1’、号码数值比我的大且数值差最小的同学做朋友”。同学们觉得很有意思,就热闹地开始玩“找朋友”游戏了。假设学校的运动员数是N(N=2500),按1-N编号,请你编写一个程序,帮某位号码是M的同学找到他的朋友。(26分)
【样例输入】(键盘输入某位同学的十进制数号码M)
17
【样例输出】(他和他的朋友的号码的十进制形式及二进制形式)
17 :10001
18 :10010


3、【问题描述】运动会的开幕式开始了,选手们按照比赛项目和年级排成一列顺序入场。小杰很高兴,这毕竟是自己作为小学生的最后一次运动会了。他一边兴奋地走着,一边数着他前面有几个人的运动员号码比自己的号码小。教信息学的王老师恰好走过来,听说小杰在数排在自己前面比自己的运动员号码小的人数,笑着说:“小杰,那我就布置你一道作业,假设按现在的顺序,这N位同学都告诉你他的前面有多少位同学的运动员号码比自己的小,你能推算出他们的运动员号码吗?”。晚上回家,经过一番编写调试,小杰终于编写出了这样的程序。怎么样,你也试一试?假设学校的运动员数是N(N<=200),现在按1-N编号,A(1)~A(N)分别为每位运动员前面比自己的运动员号码小的人数,请推算出他们原来的运动员号码。(26分)
【样例输入】(键盘输入N、A(1)~A(N))
4,0,0,1,3
【样例输出】(按现在的队列顺序输出原来的运动员号码)
3,1,2,4


4、【问题描述】运动会快结束了。班主任陈老师让小杰帮助他挑选N位同学排成一个1~N的顺序队列,参加闭幕式的演出排练。假设最多可以有N位男生和N位女生供挑选参加此排列,要求不能有一位女生单独在队列中(每1名女生的前或后至少有另1名女生)。请你编程帮助小杰计算一下共有多少种方案?N从键盘输入,N<100,要求输出精确数值。如:N=4时,可以有女女女女、女女女男、男女女女、女女男男、男女女男、男男女女、男男男男共7种方案。(24分)
【样例输入】(键盘输入N)
4
【样例输出】(方案数)
7


有没有人知道怎么做呀?高手教教我吧!!最后一题第一题我会,关键三四两题真tmd繁琐,又烦人又难做!
忘有才之人指点指点。小生您的大恩大德永生难忘!

回复列表 (共3个回复)

沙发

2.
CLS
DIM a$(10000)
DO
INPUT m
LOOP UNTIL m <= 2500
q = m
GOSUB f2
o = p: y = LEN(x$)
PRINT m; ":"; x$
DO
x$ = ""
m = m + 1
GOSUB f2
IF p = o THEN PRINT m - 1; ":"; x$: END
p = 0
LOOP UNTIL LEN(x$) - y > 2
PRINT "Not have friend"
END
f2:
DO
k = k + 1
a$(k) = STR$(q MOD 2)
q = q \ 2
LOOP UNTIL q = 0
FOR i = k TO 1 STEP -1
x$ = x$ + LTRIM$(a$(i))
IF LTRIM$(a$(i)) = "1" THEN p = p + 1
NEXT i
q = m: k = 0
RETURN

给我加分啊

板凳

1.
CLS
DIM a(9)
INPUT n
FOR i = 1 TO n
x$ = LTRIM$(STR$(i))
lx = LEN(x$)
FOR j = 1 TO lx
b$ = MID$(x$, j, 1)
a(VAL(b$)) = a(VAL(b$)) + 1
NEXT j, i
FOR i = 0 TO 9
PRINT a(i);
NEXT i
END

3 楼

cls
input n
dim a(n+4)
a(1)=1
a(2)=2
a(3)=4
a(4)=7
for i=5 to n
 a(i)=a(i-2)*3
next i
print a(n)
end

我来回复

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