java定数5幻方结果,用程序设计实现全对角线幻方的构造

设方阵C=(cij)nn(1i,jn)含数集N={1,2,……,n2}的全部元素,若C的每行、每列及主、副(含折断)对角线中的每一线上诸元素之和等于n(n2+1)/2(幻和),称方阵C为n阶全对角线幻方.定义1设B=(bij)pq(1ip,1jq)含数集N={1,2,3,……,pq}的全部元素,若B的每行诸元素之和均为定数R1,称B为行等和矩阵.定义2设方阵D=(dij)nn,1dijn,1i,jn,若D的每行诸元素之和等于定数R2=n(n+1)/2,而D的每一列及主、副(含折断)对角线上各元素互异,称D为一个泛等和方阵(n24).定义3设方阵D=(dij)nn,D=(dij)nn,若数偶方阵((dij,dij))nn中的n2个数偶互异,则称方阵D和D互为正交.构造任一行等和矩阵B=(bij)pq,其中,bi,j=di+pj-q,1表示最小正剩余.下面分三种情形分别由行等和矩阵B来构造泛等和方阵D:(1)当n为奇数,且n5,(n,3)=1时,取B=(b1,b2,…,bn)1n记B1(1)=BB2(1)=(bn-1,bn,b1,b2,…,bn-3,bn-2)1n,…,Bn(1)=(b3,b4,…,bn,b1,b2)1n以Bk(1)(1kn)为块作方阵D1如下:D1=B1(1)B2(1)…Bn(1)n1=b1b2b3…bn-1bnbn-1bnb1…bn-3bn-2………………b3b4b5…b1b2nn显然di,j(1)=b(1)2-2i+j(1i,jn)(2)当n为奇数,且n5,n=3q(q=2t+1,t=1,2,…)时,取B(3)=b1b4…b6t+1b2b5…b6t+2b3b6…b6t+33(2t+1)记B1(3)=B(3B2(3)=b4b7…b6t+1b1b5b8…b6t+2b2b6b9…b6t+3b33(2t+1)……Bq(3)=b6t+1b1…b6t-2b6t+2b2…b6t-1b6t+3b3…b6t3(2t+1)以Bk(3)(1kq)为块,构造分块方阵D3=B1(3)B1(3)B1(3)B2(3)B2(3)B2(3)………Bq(3)Bq(3)Bq(3)(6t+3)(6t+3)显然di,j(3)=bi+3j-3(3)(1i,j6t+3).(3)当n为偶数,且n4t+2,n12t时,取B(2)=b1b3b5…b2q-1b2b4b6…b2q2q(q2t+1,6t)记B1(2)=B(2)B2(2)=b3b5…b2q-1b1b4b6…b2qb22q……Bq(2)=b2q-1b1b3…b2q-3b2qb2b4…b2q-22q以Bk(2)(1kq)为块作方阵D2如下:D2=B1(2)B1(2)B2(2)B2(2)……Bq(2)Bq(2)显然di,j(2)=bi+2j-2(2)(1i,j2q)引理1设Dk(k=1,2,3)如上法所构造的方阵,则Dk均为泛等和方阵.引理2设Dk(k=1,2,3)如引理1所给定,Dk是Dk的转置方阵,则Dk与Dk互为正交.定理1设Dk(k=1,2,3)如引理1所给定,Dk是Dk的转置,则方阵Gk=(gi,j(k))kqkq是全对角线幻方,其中,gi,j(k)=(di,j(k)-1)kq+dj,ik,k=1,2,3;1i,jkq(kq4t+2,12t,t=1,2…)上面只是对构造全对角线幻方作了理论性的说明,下面我用C程序构造出了行等和矩阵B=(bij)pq(1ip,1jq),并由行等和矩阵B构造出了泛等和方阵D=(dij)pqpq(1i,jpq),根据公式gi,j(k)=(di,j(k)-1)kq+dj,i(k),k=1,2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值