當前位置:首頁 » 編程語言 » c語言3x3方格填數規律
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言3x3方格填數規律

發布時間: 2022-09-09 12:46:00

① 0-9的數字填入3*3格子中使任意連續數不能相鄰,對角也算。。。c語言求解,快快的,跪求啊。

麻蛋的我還想寫一下,想了想發現,不說你這10個數了,就當是9個數,你放任何一個數到中心位置,其他8個數都與這個數相鄰,肯定TM有相鄰的數啊,哪個坑爹的人出的題啊!!!

② 用C語言編寫,1到九放到3*3的格子里,讓3個的和都相等,

#include<stdio.h>

voidmain()

{

inti,j,k,m,n;

inta[20][20];

printf("pleaseinputthem:");//輸入魔方陣階數

scanf("%d",&m);

for(n=3;n<=m;n++)

{

if(n%2!=0)

{

printf("%4d階魔方陣如下: ",n);

for(i=0;i<n;i++)

for(j=0;j<n;j++)

a[i][j]=0;

j=n/2;

a[0][j]=1;

for(k=2;k<=n*n;k++)

{

i--;

j++;

if(i<0)//行出界

i=n-1;

elseif(j>n-1)//列出界

j=0;

if(a[i][j]==0)

a[i][j]=k;

else

{

i=(i+2)%n;

j=(j-1+n)%n;

a[i][j]=k;

}

}

printf(" ");

for(i=0;i<n;i++) //列印魔方陣

{

for(j=0;j<n;j++)

printf("%4d",a[i][j]);

printf(" ");

}

}

}

}


③ 3x3方格填數規律中間是8

2 -8 6
4 0 -4
-6 8 -2

④ 填寫三乘三方格的規律

看你能不能看懂,這個方法可以適用5*5,7*7,9*9等等基數陣列

1.1固定填在最上面中間位置

2.然後依次向右上填,如果超出陣列,就進行跳躍,這個要自己悟,比如填1了,2就填在最右下角的方格(看箭頭跳轉)

3.2填了就填3,同樣超出陣列,進行跳躍

4.如果遇到右上已經有數了,就向下移動一格

⑤ C語言填幻方(不要窮舉,要詳細講解)

下面的夠詳細了吧

奇階幻方
當n為奇數時,我們稱幻方為奇階幻方。可以用Merzirac法與loubere法實現,根據我的研究,發現用國際象棋之馬步也可構造出更為神奇的奇幻方,故命名為horse法。
偶階幻方
當n為偶數時,我們稱幻方為偶階幻方。當n可以被4整除時,我們稱該偶階幻方為雙偶幻方;當n不可被4整除時,我們稱該偶階幻方為單偶幻方。可用了Hire法、 Strachey以及YinMagic將其實現,Strachey為單偶模型,我對雙偶(4m階)進行了重新修改,製作了另一個可行的數學模型,稱之為 Spring。YinMagic是我於2002年設計的模型,他可以生成任意的偶階幻方。
在填幻方前我們做如下約定:如填定數字超出幻方格範圍,則把幻方看成是可以無限伸展的圖形,如下圖:
Merzirac法生成奇階幻方
在第一行居中的方格內放1,依次向左上方填入2、3、4…,如果左上方已有數字,則向下移一格繼續填寫。如下圖用Merziral法生成的5階幻方:
17 24 1 8 15
23 5 7 14 16
4 6 13 20 22
10 12 19 21 3
11 18 25 2 9

loubere法生成奇階幻方
在居中的方格向上一格內放1,依次向右上方填入2、3、4…,如果右上方已有數字,則向上移二格繼續填寫。如下圖用Louberel法生成的7階幻方:
30 39 48 1 10 19 28
38 47 7 9 18 27 29
46 6 8 17 26 35 37
5 14 16 25 34 36 45
13 15 24 33 42 44 4
21 23 32 41 43 3 12
22 31 40 49 2 11 20

horse法生成奇階幻方
先在任意一格內放入1。向左走1步,並下走2步放入2(稱為馬步),向左走1步,並下走2步放入3,依次類推放到n。在n的下方放入n+1(稱為跳步),再按上述方法放置到2n,在2n的下邊放入2n+1。如下圖用Horse法生成的5階幻方:
77 58 39 20 1 72 53 34 15
6 68 49 30 11 73 63 44 25
16 78 59 40 21 2 64 54 35
26 7 69 50 31 12 74 55 45
36 17 79 60 41 22 3 65 46
37 27 8 70 51 32 13 75 56
47 28 18 80 61 42 23 4 66
57 38 19 9 71 52 33 14 76
67 48 29 10 81 62 43 24 5

一般的,令矩陣[1,1]為向右走一步,向上走一步,[-1,0]為向左走一步。則馬步可以表示為2X+Y,{X∈{[1,0], [-1,0]},Y∈{[0,1], [0,-1]}}∪{Y∈{[1,0], [-1,0]},X∈{[0,1], [0,-1]}}。對於2X+Y相應的跳步可以為2Y,-Y,X,-Y,X,3X,3X+3Y。上面的的是X型跳步。Horse法生成的幻方為魔鬼幻方。
Hire法生成偶階幻方
將n階幻方看作一個矩陣,記為A,其中的第i行j列方格內的數字記為a(i,j)。在A內兩對角線上填寫1、2、3、……、n,各行再填寫1、2、3、……、n,使各行各列數字之和為n*(n+1)/2。填寫方法為:第1行從n到1填寫,從第2行到第n/2行按從1到進行填寫(第2行第1列填n,第2行第n列填1),從第n/2+1到第n行按n到1進行填寫,對角線的方格內數字不變。如下所示為6 階填寫方法:
1 5 4 3 2 6
6 2 3 4 5 1
1 2 3 4 5 6
6 5 3 4 2 1
6 2 4 3 5 1
1 5 4 3 2 6

如下所示為8階填寫方法(轉置以後):
1 8 1 1 8 8 8 1
7 2 2 2 7 7 2 7
6 3 3 3 6 3 6 6
5 4 4 4 4 5 5 5
4 5 5 5 5 4 4 4
3 6 6 6 3 6 3 3
2 7 7 7 2 2 7 2
8 1 8 8 1 1 1 8

將A上所有數字分別按如下演算法計算,得到B,其中b(i,j)=n×(a(i,j)-1)。則AT+B為目標幻方
(AT為A的轉置矩陣)。如下圖用Hire法生成的8階幻方:
1 63 6 5 60 59 58 8
56 10 11 12 53 54 15 49
41 18 19 20 45 22 47 48
33 26 27 28 29 38 39 40
32 39 38 36 37 27 26 25
24 47 43 45 20 46 18 17
16 50 54 53 12 11 55 9
57 7 62 61 4 3 2 64

Strachey法生成單偶幻方
將n階單偶幻方表示為4m+2階幻方。將其等分為四分,成為如下圖所示A、B、C、D四個2m+1階奇數幻方。
A C
D B
A用1至2m+1填寫成(2m+1)2階幻方;B用(2m+1)2+1至2*(2m+1)2填寫成2m+1階幻方;C用2*(2m+1)2+1至3*(2m+1)2填寫成2m+1階幻方;D用3*(2m+1)2+1至4*(2m+1)2填寫成 2m+1階幻方;在A中間一行取m個小格,其中1格為該行居中1小格,另外m-1個小格任意,其他行左側邊緣取m列,將其與D相應方格內交換;B與C接近右側m-1列相互交換。如下圖用Strachey法生成的6階幻方:
35 1 6 26 19 24
3 32 7 21 23 25
31 9 2 22 27 20
8 28 33 17 10 15
30 5 34 12 14 16
4 36 29 13 18 11

Spring法生成以偶幻方
將n階雙偶幻方表示為4m階幻方。將n階幻方看作一個矩陣,記為A,其中的第i行j列方格內的數字記為a(i,j)。
先令a(i,j)=(i-1)*n+j,即第一行從左到可分別填寫1、2、3、……、n;即第二行從左到可分別填寫n+1、n+2、n+3、……、2n;…………之後進行對角交換。對角交換有兩種方法:
方法一;將左上區域i+j為偶數的與幻方內以中心點為對稱點的右下角對角數字進行交換;將右上區域i+j為奇數的與幻方內以中心點為對稱點的左下角對角數字進行交換。(保證不同時為奇或偶即可。)
方法二;將幻方等分成m*m個4階幻方,將各4階幻方中對角線上的方格內數字與n階幻方內以中心點為對稱點的對角數字進行交換。
如下圖用Spring法生成的4階幻方:
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1

YinMagic構造偶階幻方
先構造n-2幻方,之後將其中的數字全部加上2n-2,放於n階幻方中間,再用本方法將邊緣數字填寫完畢。本方法適用於n>4的所有幻方,我於2002年12月31日構造的數學模型。YinMagic法可生成6階以上的偶幻方。如下圖用 YinMagic法生成的6階幻方:
10 1 34 33 5 28
29 23 22 11 18 8
30 12 17 24 21 7
2 26 19 14 15 35
31 13 16 25 20 6
9 36 3 4 32 27

魔鬼幻方
如將幻方看成是無限伸展的圖形,則任何一個相鄰的n*n方格內的數字都可以組成一個幻方。則稱該幻方為魔鬼幻方。
用我研究的Horse法構造的幻方是魔鬼幻方。如下的幻方更是魔鬼幻方,因為對於任意四個在兩行兩列上的數字,他們的和都是34。此幻方可用YinMagic方法生成。
15 10 3 6
4 5 16 9
14 11 2 7
1 8 13 12
羅伯法:
1居上行正中央,依次排開右上方。
右出格時寫最左,上出格時寫最下.
每逢幾個落一行.(幾個是幾*幾的方陣中的幾)

⑥ 如何用C語言排列一個3*3宮格,並在每個宮格中插數

可以用二維數組,實現如下:

#include<stdio.h>
#include<stdlib.h>
intmain()
{
inta[3][3],i,j;
printf("請輸入9個整數(每個數之間用空格隔開):");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
printf("您輸入的數為: ");
for(i=0;i<3;i++)
printf("%d%d%d ",a[i][0],a[i][1],a[i][2]);
system("pause");
return0;
}

⑦ 3乘3的數獨規律

數獨(九宮格)的規律是每一行、每一列、每一個粗線宮(3*3)內的數字均含1-9,不重復。

玩家需要根據9×9盤面上的已知數字,推理出所有剩餘空格的數字,並滿足每一行、每一列、每一個粗線宮(3*3)內的數字均含1-9,不重復。

數獨盤面是個九宮,每一宮又分為九個小格。在這八十一格中給出一定的已知數字和解題條件,利用邏輯和推理,在其他的空格上填入1-9的數字。使1-9每個數字在每一行、每一列和每一宮中都只出現一次,所以又稱「九宮格」。


解題手法:

依解題填制的過程可區分為直觀法與候選數法。直觀法就是不做任何記號,直接從數獨的盤勢觀察線索,推論答案的方法。

⑧ 按規律填數3*3方塊

比如是1,2,3,4,5,6,7,8,9
先把它們從小到大排列,再按順序排成3行
1 2 3
4 5 6
7 8 9
中間的不動,周圍的順時針轉一下
4 1 2
7 5 3
8 9 6
對角的交換
6 1 8
7 5 3
2 9 4
就得到了

⑨ 如圖,有3個3x3的方格表,每個都已經填入了9個整數.如果將表中同一行或同一列的3個數加上相同的整數稱為

(1)雖然求出表中九個數的和為45,42,45都是3的倍數,但是這三個表的數字不是按照順序排列的,所以無論怎麼操作都不會使得表中9個數都變為相同的數字;
(2)根據第一問的分析可得:這些數字的排列雖然有一定的規律但是順序不同,所以無論怎樣操作都得不到方格表能夠通過若干次操作變得完全一樣.