1樓:
九宮就是三階魔方陣
//分析:魔方陣有如下規律:
// 1:自然數1總是在方陣第一行當中一列上。
// 2:後續的自然數在當前數的右上方,
// 1)如果是在第一行則行數變為第n行列數加1 ;
// 2)如果是在最後一列,行數減1,列數為第1行。
// 3)如果後續的數所處位置已有數,則行數加1,列數不變。
巧填奇數階幻方(魔方陣)***2007-01-03 17:57 一、什麼叫幻方?
(通俗點說)把一些有規律的數填在縱橫格數都相等的正方形圖內,使每一行、每一列和每一條對角線上各個數之和都相等。這樣的方陣圖叫做幻方。
幻方又分為奇數階幻方和偶數階幻方。奇數階幻方是指橫行、豎列都是單數(即3、5、7、9……)的方陣圖。偶數階幻方是指橫行、豎列都是雙數(即4、6、8、10……)的方陣圖。
二、奇數階幻方的填法。
奇數階幻方中最簡便的一種就是三階幻方,又稱「九宮圖」。
平常我們遇到這類題都是用分析、分組、嘗試的方法推出,這種方法較麻煩,如果是五階幻方、七階幻方就更困難了。
有一種方法不僅能很快地填出三階幻方,還能很快地填出五階幻方、七階幻方、九階幻方……那就是「口訣法」
口 訣
「1」坐邊中間,斜著把數填;
出邊填對面,遇數往下旋;
出角僅一次,轉回下格間。
注意:(1)這裡的「1」,是指要填的這一列數中的第一個數。
(2)「1」坐邊中間,指第一個數要填在任何一邊的正中間的空格里。
(3)從1到2時,必須先向邊外斜(比如:第一個數填在上邊的正中間,填第二個數時,要向左上方或右上方斜),填後面的數時也要按照同樣的方向斜。
#include
using namespace std;
void main()
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
a[i][j]=0;
j=n/2+1;
a[1][j]=1;
for(k=2;k<=n*n;k++)
else
if(a[i][j]==0)
a[i][j]=k;
else
}for(i=1;i<=n;i++)}
C語言實現程式後臺執行,一定要C語言 可用dev C 不能用VC
c語言會被編譯器編譯成彙編,作業系統提供一個資源許可權的空間來讓其執行。這其中c語言的一些你看起來很簡單的操作如printf等都是有一個函式庫來支援的,這些函式庫實質上是作業系統提供一些api封裝後的樣子,這樣使用起來更加方便。不同的作業系統提供的api是有些不同的,這些有相應的lib來解決,你在c...
完整正確的C語言二叉樹程式,用c語言實現二叉樹的程式,可以輸入輸出和遍歷
include using namespace std class node node node getleft void setleft node l node getright void setright node r char getdata void setdata const int in...
急求c語言實現計算字串中子串出現的次數
朋友想念你 include include void main else p1 if p2 0 sum p2 str2 printf d sum getchar 希望這個能幫到你。加油吧少年 請放心使用,有問題的話請追問 滿意請及時採納,謝謝,採納後你將獲得5財富值。你的採納將是我繼續努力幫助他人的...