誰知道用C語言怎麼寫求幻方的程式

2022-03-09 07:41:04 字數 2282 閱讀 3068

1樓:冰河神風

#include

void hf(int n)

else

temp++;}}

for(i=0;i

}main()

這是輸出100內的奇數階幻方的,原理大概是這樣,比如你要輸出7的幻方,你先在紙上畫好7x7的方框,第1行的中間寫上1,然後退一行進一列寫2,但1是第1行,上面沒行了,所以2寫到最後一行去,然後2在退一行進一列寫3......,只要行為1了,下次就轉到第7行,只要列為7了下次轉到第1列,如果你退一行進一列後發現已經有數了,就把數寫到當前到達的數的下方......你可以結合輸出看一下這個規律

如何用c語言編寫幻方?多謝回答

2樓:佟鈺塞職

//分析:魔方陣有如下規律:

//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++)

for(i=0;i

for(j=0;j

square[i][j]=0;

i=0;j=(size-1)/2;

square[i][j]=1;

for(count=2;count<=size*size;count++)

square[i][j]=count;

}printf("the

%dsquare

is:\n",size);

for(i=0;i

}只能求奇數的魔方陣

#definen20

main()

else

for(i=0;i

}這是以前別人寫的,你參考一下!

如何求解偶數階魔方陣 用c語言 編寫的**

3樓:匿名使用者

本人親自寫的程式,望採納,如下:

#include

int a[200][200]=;           /*200為我自己定義的,可根據需要修改*/

void jsz(int n)                                /*奇數魔方陣演算法*/

else

a[p][k]=i;}}

void ou4bz(int n)                  /*偶數4的倍數魔方陣演算法*/

if(n%2==0)

else jsz(n);

for(i=0;i

用c語言求n的階層程式怎麼寫,用C語言求N的階層。程式怎麼寫

1 使用遞迴演算法 include include long factorial int n else if n 0 n 1 else return result main 2 使用迴圈 include include int main while i k printf ld n j system ...

誰知道各種語言中我愛你怎麼說和寫?最好有寫和說的讀法

日語 阿姨洗的路 法語 也帶嘛 韓語 殺啦黑喲 中文 我愛你 英文 2勒吳又 各國語言的 我愛你 的寫法和讀法 買禮物還是網上買吧。我在網購經驗比較多,網上的東西真的便宜很多,選購也很方便,我收集了很多熱賣好評的商品和店鋪,並做了統計排行,很多都是專家通過比較店鋪信譽和銷售記錄以及的評價,做出的排行...

誰知道這個用普通話怎麼講最好用語言

快速學習普通話的方法和竅門 快速學習普通話的方法和竅門不僅一要多聽,二要多練,三就是要重複。下面幾點希望大家在學習的時候注意了 普通話要重視語音 學習普通話必須兼顧語音 語法 詞彙三個方面。漢語方面的分歧突出地表現在語音方面,不但各大方言區之間的語音系統差別大,就是一個地區 一種方言內部也常在語音方...