主题:编程题
幽灵密码
[专家分:3510] 发布于 2010-05-25 14:11:00
1、数学黑洞6174
已知:一个任意的四位正整数。将数字重新组合成一个最大的数和最小的数相减,重复这个过程,最多七步,必得6174。即:7641-1467=6174。将永远出不来。
求证:所有四位数数字(全相同的除外),均能得到6174。输出掉进黑洞的步数。
2、输入10个学生的姓名,编一程序将它们按字母的顺序排列。
3、输入一个十进制数,将其转换成二进制数。
4、将字符串中的大写字母转换成小写字母,并反相输出。
如输入'abcABC234!$',输出为'$!432cbacba'
5、从屏幕上输入一个多位自然数,然后将各位重新排列成一个仍由原来的那些数字组成的位数不变的最大数和最小数。
回复列表 (共35个回复)
11 楼
幽灵密码 [专家分:3510] 发布于 2010-07-20 21:21:00
sorry,偶能解滴出来,问题是你能不能解滴出来
12 楼
逍遥剑圣 [专家分:130] 发布于 2010-07-24 22:06:00
第三条
input n
s=0
do
r=n mod 2
n=n\2
s=s-r*10^i
n=n\10
i=i+1
loop until n=0
print s
13 楼
神秘-赛尔 [专家分:170] 发布于 2010-08-01 11:08:00
cls
dim a($10)
for i=1 to 10
inut a$(i)
next i
do
f=0
for i=1 to 9
if a$(i)>a$(i+1) then
swap a$(i),a$(i+1)
f=1
end if
next i
loop until f=0
for i=1 to 10
print a$(i);
next i
end
14 楼
verysmartboy [专家分:1260] 发布于 2010-10-24 19:04:00
cls
input n$
l=len(n$)
dim a$(l)
for i=1 to l
h$=mid$(n$,i,1)
a$(i)=h$
next i
for i=1 to l-1
for j=i+1 to l
if a$(i)>a$(j) then swap a$(i),a$(j)
next j
next i
if a(1)=0 then swap a(1),a(2)
for i=1 to l
print a$(i);
next i
print
for i=l to 1 step-1
print a$(i);
next i
end
15 楼
verysmartboy [专家分:1260] 发布于 2010-10-24 19:13:00
cls
dim a$(10)
for i=1 to 10
input a$(i)
next i
for i=1 to 9
for j=i+1 to 10
if a$(i)>a$(j) then swap a(i),a(j)
next j
next i
for i=1 to 10
print a$(i);
next i
end
16 楼
verysmartboy [专家分:1260] 发布于 2010-10-24 19:16:00
cls
dim a$(10)
for i=1 to 10
input a$(i)
next i
for i=1 to 9
for j=i+1 to 10
if a$(i)>a$(j) then swap a$(i),a$(j)
next j
next i
for i=1 to 10
print a$(i);
next i
end
17 楼
verysmartboy [专家分:1260] 发布于 2010-10-24 19:24:00
4.cls
input n$
l=len(n$)
dim a$(l)
for i=1 to l
h$=mid$(n$,i,1)
a$(i)=h$
next i
for i=1 to l
h$=mid$(a$(i),i,1)
if asc(h$)>64 and asc(h$)<91 then a$(i)=chr$(asc(asc(h$)+32))
if asc(h$)>96 and asc(h$)<123 then a$(i)=chr$(asc(asc(h$)-32))
next i
for i=l to 1 step-1
print a$(i);
next i
end
18 楼
verysmartboy [专家分:1260] 发布于 2010-10-24 19:47:00
.cls
input n$
l=len(n$)
dim a$(l)
for i=1 to l
h$=mid$(n$,i,1)
a$(i)=h$
next i
for i=1 to l
h$=mid$(a$(i),i,1)
if asc(h$)>64 and asc(h$)<91 then a$(i)=ucase$(h$)
if asc(h$)>96 and asc(h$)<123 then a$(i)=lcase$(h$)
next i
for i=l to 1 step-1
print a$(i);
next i
end
19 楼
verysmartboy [专家分:1260] 发布于 2010-10-29 19:08:00
王若愚!你是不会还是不懂?发的这是什么东西?
20 楼
幽灵密码 [专家分:3510] 发布于 2010-11-01 22:51:00
第一题怎么还没人做
CLS
RANDOMIZE TIMER
DO
1 n = FIX((RND * 8999) + 1000)
GOSUB SZ
IF a$ = b$ OR a$ = c$ OR a$ = d$ THEN GOTO 1
LOOP UNTIL n > 999 AND n < 10000
GOSUB DX
PRINT n
DO
p = p + 1
n = max - min
GOSUB SZ
PRINT max; "-"; min; "="; n
max = 0
GOSUB DX
IF n = 6174 THEN PRINT p: END
LOOP UNTIL p = 99
PRINT "NO!"
END
DX:
a$(1) = a$
a$(2) = b$
a$(3) = c$
a$(4) = d$
min = VAL(a$ + b$ + c$ + d$)
FOR i = 1 TO 4
FOR j = 1 TO 4
FOR k = 1 TO 4
FOR l = 1 TO 4
IF i <> j AND i <> k AND i <> l AND j <> k AND j <> l AND l <> k THEN
IF a$(i) = "0" THEN GOTO 2
z = VAL(a$(i) + a$(j) + a$(k) + a$(l))
IF z > max THEN max = z
IF z < min THEN min = z
END IF
2 NEXT l
NEXT k
NEXT j
NEXT i
RETURN
SZ:
n$ = LTRIM$(STR$(n))
a$ = MID$(n$, 1, 1): a = VAL(a$)
b$ = MID$(n$, 2, 1): b = VAL(b$)
c$ = MID$(n$, 3, 1): c = VAL(c$)
d$ = MID$(n$, 4, 1): d = VAL(d$)
RETURN
我来回复