/*輸出"魔方陣"。所謂魔方陣是指這樣的方陣,它的每一
行、每一列和對角線之和均相等。例如,三階魔方陣爲
8 1 6
3 5 7
4 9 2
*/
#include "iostream.h"
#include "iomanip.h"
void main()
{
int n,i,j,k;
cout<<"請輸入奇數魔方陣的價數:";
cin>>n;
k=(5*n-1)/2;/*k代表什麼?*/
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
cout<<setw(6)<<(k-i+j)%n*n+(k-i-j-1)%n+1;/*這種算法怎麼來的*/
cout<<endl;
}
}
不懂的地方:
1. k=(5*n-1)/2;/*k代表什麼?*/
2. cout<<setw(6)<<(k-i+j)%n*n+(k-i-j-1)%n+1;/*這種算法怎麼來的*/
求高手指點!!!