求高手指點"魔方數的輸出'的相關問題

/*輸出"魔方陣"。所謂魔方陣是指這樣的方陣,它的每一
行、每一列和對角線之和均相等。例如,三階魔方陣爲
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;/*這種算法怎麼來的*/

求高手指點!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章