- みんなの回答 (1)
- 専門家の回答
みんなの回答
- bir
- ベストアンサー率44% (11/25)
参考URLのあたりで探してみてください。 アドバイスですみません。
関連するQ&A
- ラテン方陣と魔方陣
魔方陣について、縦と横の和が同じで(斜めは考えない)、すべての数が一回ずつしか現れないものとします。ラテン方陣という縦の各列も横の各列も同じ数字が一回しか現れないものと定義づけます。このラテン方陣は作り方により2種類にわかれ、この2種のラテン方陣を組み合わせた方陣をオイラー方陣と名づけます。たとえば、3×3のラテン方陣は 123 123 312 と 231 231 312 となり、これを組み合わせた3次のオイラー方陣は (1,1)(2,2)(3,3) (3,2)(1,3)(2,1) (2,3)(3,1)(1,2) となります。 これらの定義条件下において次の定理を証明してほしいのですが。 定理. n×nの二つのラテン方陣からできるオイラー方陣にお いて、nが奇数ならば、(1,1)、(1,2)、・・・(n,n)のすべての組が方陣内にちょうど一回ずつ現れる。 どうかよろしくお願いしますm(__)m
- ベストアンサー
- 数学・算数
- 奇数魔方陣
下記のプログラム(奇数魔方陣) について最初のfor文からどのような処理が行われているかわかりません。 { int mahoujin[10][10],x,y,i,n = 7; x = n / 2 + 1; y = 1; mahoujin[x][y] = 1; for( i = 2; i <= n * n; i++ ){ if( i % n == 1 ){ y = y + 1; }else{ x = x + 1; y = y - 1; } if( x > n ) x = 1; if( y < 1 ) y = n; mahoujin[x][y] = i; } for( y = 1; y <= n; y++ ){ for( x = 1; x <= n; x++ ){ printf( "%3d ", mahoujin[x][y] ); } printf( "\n" ); } 特にわからないのがif文で分岐になるところどのようなことが行われているかがわからないです。どなたか教えて頂けるとうれしいです。
- 締切済み
- C・C++・C#
- 配列を使って魔方陣
C言語を使って最近やっと配列ができるようになってきたんですが、どうしても魔方陣のやり方がわからないんです。教えてください。 魔方陣とは、1~n^2までの整数をn×nの正方形に並べ、どの行、どの列、どの対角線のn個の数の和も一定の値になるようにしたものです。 nは常に奇数を入力し、1番上の行の中央の列に1を置く事になります。 整数kまで置かれているとすると、k+1は次のように置かれる。 * kの置かれた場所の右斜め上(以下この場所をαと呼ぶ)が空いていれば、そこにk+1を置く。 * αがすでに他の数が置かれているとき、kの置かれている場所のすぐ下にk+1を置く。 * αが右上隅にはみ出す場合は、kの置かれている場所のすぐ下にk+1を置く。 * αが1番上の行からはみ出す場合は、場所αの1番下の列にk+1を置く。 * αが1番右上の列からはみ出す場合には、場所αの1番左の列にk+1を置く。 例)n=3のとき 8 1 6 3 5 7 4 9 2 まだまだ初心者なので詳しく教えていただけると嬉しいです。よろしくお願いします。
- ベストアンサー
- C・C++・C#
- n次の奇数魔方陣をつくるプログラム
どうしてもエラーが出てしまいます。少なくとも、「int mahojin[n+1][n+1],i,j,k;」あたりの行が間違っているらしいのですが、なぜだかわかりません。アドバイスお願いします!!(スペースが上手く入らなくて、全角スペースを使ってますが気にしないでください。) #include<stdio.h> int main(void) { int n; printf("n(ただし、nは奇数)=?");scanf("%d",&n); int mahojin[n+1][n+1],i,j,k; j=(n+2)/2;i=0; for(k=1;k<=n*n;k++){ if((k%n)==1) i++; else { i--;j++; } if(i==0) i=n; if(j>n) j=1; mahojin[i][j]=k; } printf(" %d次の魔方陣 \n",n); for(i=1;i<=n;i++){ for(j=1;j<=n;j++) printf("%4d",mahojin[i][j]); printf("\n"); } return 0; }
- 締切済み
- C・C++・C#
- この魔方陣の解き方教えてください。
5×5マスの魔方陣で □ 24 □ 8 □ □ 5 □ 14 16 4 □ □ 20 □ □ □ □ □ □ 11 □ 25 □ 9 □の中の数を求めるものです いろいろ考えましたがわかりませんでした。 解き方含めおしえてください おねがいします
- ベストアンサー
- 数学・算数