當前位置:編程學習大全網 - 編程軟體 - C語言用窮舉法編寫3×3的幻方

C語言用窮舉法編寫3×3的幻方

這是我用窮舉法寫的

#include "iostream.h"

int a[9];

void PaiLie(int n) //生成1~9的全排列

{

for(int i=0;i<9;i++)

{

for(int i=0;i<9;i++)

if(a[i]<n+1)a[i]=0;

if(!a[i])

{a[i]=n;

if(n>1)

PaiLie(n-1);

else

{

if ( //判定橫豎斜之和為15

a[0]+a[1]+a[2]==15&&a[3]+a[4]+a[5]==15&&a[6]+a[7]+a[8]==15&&

a[0]+a[3]+a[6]==15&&a[1]+a[4]+a[7]==15&&a[2]+a[5]+a[8]==15&&

a[0]+a[4]+a[8]==15&&a[2]+a[4]+a[6]==15

)

{for(int j=0;j<3;j++)

{

for(int i=0;i<3;i++)

cout<<a[j*3+i]<<' ';cout <<endl;

}

cout <<endl;}

}

}

}

}

main()

{

PaiLie(9);

}

過去看這個帖子,最佳答案沒用窮舉

/question/56156324.html

  • 上一篇:ug導出pdfc++
  • 下一篇:廣水市智能機電軸承銷售有限公司怎麽樣?
  • copyright 2024編程學習大全網