主题:请教大侠,帮忙解4道题,谢谢啦~~~
leer1213
[专家分:0] 发布于 2007-02-27 10:29:00
1、亲和数:所谓亲和数是指两个自然数,如果每一个数是另一个数的真因子(除本身外的所有整数因子)的和,例220的真因子是1、2、4、5、10、11、20、22、44、55、110,其和为284,而284的真因子是1、3、4、71、142,其和是220,所以220和284是一对亲和数。求[M,N]之间的亲和数。
2、 随机产生的N个数[10,999],将其中重复的数删得只剩下一个。
3、 将1—9这九个数字分成三组(每个数字只能使用一次),分别组成三个三位数,且这三个三位数构成1:2:3的比例,试求出所有满足条件的三个三位数。
4、 打印如下图示例N行的蛇形矩阵。
1 3 4 10 11
2 5 9 12 19
6 8 13 18 20
7 14 17 21 24
15 16 22 23 25
回复列表 (共8个回复)
沙发
moz [专家分:37620] 发布于 2007-02-27 21:39:00
题目嘛,当然要自己去动手做才行的,
靠别人终归是不可靠的.
要不,你来想你来写我再来帮?
为什么?
没有你,我可动不了脑子.
板凳
leer1213 [专家分:0] 发布于 2007-02-27 22:20:00
汗,就是为了交差的~~~
3 楼
JRX [专家分:180] 发布于 2007-03-11 19:26:00
1.
CLS
INPUT "M,N="; M, N
DIM A(N - M + 1, 2)
L = 0
FOR I = M TO N
S = 0
FOR J = 1 TO I - 1
IF I MOD J = 0 THEN S = S + J
NEXT J
IF S >= M AND S <= N AND S <> I THEN
FOR K = 1 TO L
IF (A(K, 1) = I AND A(K, 2) = S) OR (A(K, 1) = S AND A(K, 2) = I) THEN GOTO 1
NEXT K
L = L + 1: A(L, 1) = I: A(L, 2) = S: PRINT I, S
END IF
1 NEXT I
4 楼
kenpung [专家分:0] 发布于 2007-03-14 10:10:00
1.
Cls
Input "n,m="; n, m
For x = n To m
s1 = 0
s2 = 0
For t = 1 To x - 1
If x Mod t = 0 Then
s1 = s1 + t
End If
Next t
If s1 >= n And s1 <= m Then
For t = 1 To s1 - 1
If s1 Mod t = 0 Then
s2 = s2 + t
End If
Next t
If s2 = x And x < s1 Then Print x; s1
End If
Next x
5 楼
kenpung [专家分:0] 发布于 2007-03-14 16:33:00
2.
Cls
Input "Length="; Length
Dim n() As Integer, y() As Integer, s() As Integer
t = 0
For i = 1 To Length
If t = Length Then Exit For
t = t + 1
ReDim Preserve n(1 To t)
n(t) = Int(Rnd * 20 + 1)
ReDim Preserve y(1 To i)
y(i) = n(t)
For j = 1 To t - 1
If n(t) = n(j) Then
i = i - 1
Exit For
End If
Next j
Next i
For j = 1 To t
Print n(j);
Next j
Print
For t = 1 To i - 1
Print y(t);
Next t
6 楼
鬼的魂魄 [专家分:20] 发布于 2007-03-23 11:59:00
简单,看我的
第4题:蛇型方阵
程序清单:
CLS
INPUT N
DIM A(N,N)
FOR I=1 TO N*2-1
IF I <=N THEN
IF I MOD 2<>0 THEN X=0 ELSE X=I+1
ELSE
IF I MOD 2=0 THEN X=X+1
END IF
FOR J=1 TO N-ABD(N-I)
IF I MOD 2=0 THEN X=X-1 ELSE X=X+1
K=K+1
A(X,I+1-X)=K
NEXT J,I
FOR I=1 TO N
FOR J=1 TO N
PRINT USING"###";A(I,J);
NEXT J
PRINT
NEXT I
END
还不快点谢谢我?
7 楼
超人hj [专家分:30] 发布于 2007-03-23 19:12:00
1.
CLS
INPUT "M,N="; M, N
DIM A(N - M + 1, 2)
L = 0
FOR I = M TO N
S = 0
FOR J = 1 TO I - 1
IF I MOD J = 0 THEN S = S + J
NEXT J
IF S >= M AND S <= N AND S <> I THEN
FOR K = 1 TO L
IF (A(K, 1) = I AND A(K, 2) = S) OR (A(K, 1) = S AND A(K, 2) = I) THEN GOTO 1
NEXT K
L = L + 1: A(L, 1) = I: A(L, 2) = S: PRINT I, S
END IF
1 NEXT I
2.Cls
Input "Length="; Length
Dim n() As Integer, y() As Integer, s() As Integer
t = 0
For i = 1 To Length
If t = Length Then Exit For
t = t + 1
ReDim Preserve n(1 To t)
n(t) = Int(Rnd * 20 + 1)
ReDim Preserve y(1 To i)
y(i) = n(t)
For j = 1 To t - 1
If n(t) = n(j) Then
i = i - 1
Exit For
End If
Next j
Next i
For j = 1 To t
Print n(j);
Next j
Print
For t = 1 To i - 1
Print y(t);
Next t
3.CLS
FOR I = 123 TO 329
A = I: B = A * 2: C = A * 3
X$ = LTRIM$(STR$(A)) + LTRIM$(STR$(B)) + LTRIM$(STR$(C))
FOR K = 2 TO 9: FOR J = 1 TO K - 1
IF MID$(X$, J, 1) = "0" OR MID$(X$, J, 1) = MID$(X$, K, 1) THEN 1
NEXT J, K
PRINT A; B; C
1 NEXT I
END
4.CLS
INPUT N
DIM A(N,N)
FOR I=1 TO N*2-1
IF I <=N THEN
IF I MOD 2<>0 THEN X=0 ELSE X=I+1
ELSE
IF I MOD 2=0 THEN X=X+1
END IF
FOR J=1 TO N-ABD(N-I)
IF I MOD 2=0 THEN X=X-1 ELSE X=X+1
K=K+1
A(X,I+1-X)=K
NEXT J,I
FOR I=1 TO N
FOR J=1 TO N
PRINT USING"###";A(I,J);
NEXT J
PRINT
NEXT I
END
搞定了!真轻松!!!
8 楼
黑白猪-- [专家分:420] 发布于 2007-03-23 19:14:00
CLS
INPUT N
DIM A(N, N)
FOR I = 1 TO N * 2 - 1
IF I <= N THEN
IF I MOD 2 <> 0 THEN X = 0 ELSE X = I + 1
ELSE
IF I MOD 2 = 0 THEN X = X + 1
END IF
FOR J = 1 TO N - ABS(N - I)
IF I MOD 2 = 0 THEN X = X - 1 ELSE X = X + 1
K = K + 1
A(X, I + 1 - X) = K
NEXT J, I
FOR I = 1 TO N
FOR J = 1 TO N
PRINT USING "###"; A(I, J);
NEXT J
PRINT
NEXT I
END
[em9]
我来回复