ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 13302|回复: 22

[Excel 程序开发] [开_63] N*N等和方阵生成器(已公布参考答案)

[复制链接]

TA的精华主题

TA的得分主题

发表于 2005-11-9 18:39 | 显示全部楼层 |阅读模式

[EXCEL VBA5]

题目如下:

Vf81gii8.rar (20.85 KB, 下载次数: 109)

在附件中用两种算法实现了奇数等和方阵。

我已短信建议版主给提供正确答案的朋友加分。cxjsjt朋友还给出了能被4整除的偶数的等和方阵。


按照出题者的建议,已经给yangking和rongjun加分。--taller

[此贴子已经被taller于2005-12-1 21:31:23编辑过]
单选投票, 共有 2 人参与投票

投票已经结束

100.00% (2)
0.00% (0)
0.00% (0)
0.00% (0)
0.00% (0)
您所在的用户组没有投票权限

[Excel 程序开发][vba竞赛题5]

[Excel 程序开发][vba竞赛题5]

TA的精华主题

TA的得分主题

发表于 2005-11-10 08:40 | 显示全部楼层
有点不明白:N=3时,结果为15,N=5时结果为65。这个15和65是如何来的?

TA的精华主题

TA的得分主题

发表于 2005-11-10 12:22 | 显示全部楼层

俺做了一个帮助大家理解题目的要求

YuGIIM6g.zip (11.98 KB, 下载次数: 63)

To 楼上:数字1到N*N填入到N行N列的矩阵中,如果满足1楼的要求那么这个和就应该是

((1+N*N)*N*N/2)/N

[此贴子已经被作者于2005-11-13 21:34:28编辑过]

TA的精华主题

TA的得分主题

发表于 2005-11-10 22:13 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2005-11-11 22:05 | 显示全部楼层

我以前用QBASIC编过一个,关键是算法,可惜忘记了

TA的精华主题

TA的得分主题

发表于 2005-11-11 22:27 | 显示全部楼层
以下是引用yangking在2005-11-11 22:05:48的发言:

我以前用QBASIC编过一个,关键是算法,可惜忘记了

10 DIM A(20, 20), A1(20, 20) 20 INPUT N 30 IF N = -1 THEN 230 40 IF N < 3 THEN PRINT "INPUT n AGAIN": GOTO 20 50 N2 = N 60 IF N MOD 4 = 0 THEN GOSUB 470 ELSE 120 70 FOR I = 1 TO N2 80 FOR J = 1 TO N2 90 A1(I, J) = A(I, J) 100 NEXT: NEXT 110 GOTO 150 120 IF N MOD 2 = 0 THEN GOSUB 660 ELSE 140 130 GOTO 150 140 GOSUB 240 150 T = 0 160 FOR I = 1 TO N 170 T = T + A1(I, I) 180 FOR J = 1 TO N 190 PRINT USING "####"; A1(I, J); 200 NEXT: PRINT 210 NEXT: PRINT 220 PRINT "SUM="; T: PRINT : GOTO 20 230 END 240 J = 1: M = N 250 K = (M + 1) / 2 260 M2 = M * M 270 FOR I = 1 TO M2 280 A1(J, K) = I 290 R = I / M 300 B = I - INT(R) * M 310 IF B = 0 THEN 410 320 IF J = 1 THEN 350 330 J = J - 1 340 GOTO 360 350 J = M 360 IF K = M THEN 390 370 K = K + 1 380 GOTO 450 390 K = 1 400 GOTO 450 410 IF J <> M THEN 440 420 J = 1 430 GOTO 450 440 J = J + 1 450 NEXT I 460 RETURN 470 K = 0 480 FOR I = 1 TO N2 490 FOR J = 1 TO N2 500 K = K + 1 510 A(I, J) = K 520 NEXT 530 NEXT 540 N1 = N2 + 1 550 FOR I = 1 TO N2 / 2 560 IF (I + 1) MOD 4 = 0 OR (I + 2) MOD 4 = 0 THEN P = 1 ELSE P = 2 570 FOR J = P TO N2 STEP 4 580 J1 = J + 1 590 SWAP A(I, J), A(N1 - I, N1 - J) 600 IF J = 1 THEN J = 0: GOTO 630 610 IF J = N2 THEN 630 620 SWAP A(I, J1), A(N1 - I, N1 - J1) 630 NEXT 640 NEXT 650 RETURN 660 N2 = N - 2 670 GOSUB 470 680 A0 = (N * N - N2 * N2) / 2 690 FOR I = 1 TO N2 700 FOR J = 1 TO N2 710 A1(I + 1, J + 1) = A(I, J) + A0 720 NEXT 730 NEXT 740 A1(1, 1) = 1: A1(1, N) = 2 750 A1(N, 1) = N * N - 1: A1(N, N) = N * N 760 SUM = N * N + 1 770 IF N = 6 THEN 780 ELSE IF N = 10 THEN 840 ELSE PRINT "INPUT n AGAIN": GOTO 10 780 A1(1, 2) = 9: A1(1, 3) = 34: A1(1, 4) = 33: A1(1, 5) = 32 790 A1(2, 1) = 6: A1(3, 1) = 10: A1(4, 1) = 30: A1(5, 1) = 29 800 FOR I = 2 TO 5 810 A1(N, I) = SUM - A1(1, I): A1(I, N) = SUM - A1(I, 1) 820 NEXT I 830 RETURN 840 A1(1, 2) = 96: A1(1, 3) = 95: A1(1, 4) = 94: A1(1, 5) = 93 850 A1(1, 6) = 90: A1(1, 7) = 9: A1(1, 8) = 10: A1(1, 9) = 15 860 A1(2, 1) = 88: A1(3, 1) = 87: A1(4, 1) = 97: A1(5, 1) = 84 870 A1(6, 1) = 12: A1(7, 1) = 16: A1(8, 1) = 3: A1(9, 1) = 18 880 FOR I = 2 TO 9 890 A1(N, I) = SUM - A1(1, I): A1(I, N) = SUM - A1(I, 1) 900 NEXT I 910 RETURN

TA的精华主题

TA的得分主题

发表于 2005-11-12 01:12 | 显示全部楼层

谢谢lotustower兄,俺找到算法了,编了一个,你的代码一定拜读

运行HuanFang宏即可

nBdyowtb.rar (10.9 KB, 下载次数: 101)

TA的精华主题

TA的得分主题

发表于 2005-11-12 11:33 | 显示全部楼层

我也发一个:

7c5AdtEA.rar (9.48 KB, 下载次数: 107)

TA的精华主题

TA的得分主题

发表于 2005-11-12 16:55 | 显示全部楼层
新手上路,多提意见! ruju7YxX.rar (30.58 KB, 下载次数: 29)

TA的精华主题

TA的得分主题

发表于 2005-11-12 22:31 | 显示全部楼层

太高了,yangking已经够直观、明了了,而rongjun更加简洁,甚至无法理解五句口诀竟只用一句语言表达。看来是很难超越了,还是来做个双偶数的吧。

不好意思,上次竟传了一个没完成的,这次行了。

vW5gamV8.rar (10.09 KB, 下载次数: 48)

[此贴子已经被作者于2005-11-16 12:09:02编辑过]

4dD3oCiW.rar

9.78 KB, 下载次数: 45

[VBA5] N*N等和方阵生成器

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-23 14:06 , Processed in 0.051247 second(s), 17 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表