ªÀiÁAiÀiÁZËPÀ: ªÀiÁAiÀiÁZËPÀªÉAzÀgÉ ZËPÁPÁgÀzÀ°è ¸ÀASÉåUÀ¼À£ÀÄß GzÀݪÁV PÀÆrzÀgÀÆ, CqÀتÁV PÀÆrzÀgÀÆ ºÁUÀÆ JgÀqÀÆ PÀtðUÀ¼À ¢QÌ£À°è PÀÆrzÀgÀÆ MAzÉà ªÉÆvÀÛ §gÀĪÀAvÉ 1¾ôAzÀ ªÀiÁAiÀiÁZËPÀzÀ DPÁgÀzÀ ªÀUÀðzÀªÀgÉV£À ¸ÀASÉåUÀ¼À£ÀÄß eÉÆÃr¸ÀĪÀÅzÀÄ.¸ÀªÀÄ DPÁgÀzÀ ªÀiÁAiÀiÁZËPÀPÉÌ C£Àé¬Ä¸ÀĪÀ ¸ÁªÀiÁ£Àå ¤AiÀĪÀÄ«®è. DzÀgÉ ¨É¸À DPÁgÀPÉÌ ¸ÁªÀiÁ£Àå ¤AiÀĪÀÄ gÀƦ¸À§ºÀÄzÀÄ. CAzÀgÉ ªÀiÁAiÀiÁZËPÀzÀ DPÁgÀ 1, 3, 5, 7 EvÁå¢ ¨É¸À¸ÀASÉåAiÀiÁVzÁÝUÀ ¸ÁªÀiÁ£Àå¤AiÀĪÀĪÀ£ÀÄß C£ÀéAĸÀ§ºÀÄzÀÄ. £Á£ÀÄ F ¨É¸À ªÀiÁAiÀiÁZËPÀPÉÌ ¸ÀA§A¢ü¹zÀAvÉ JgÀqÀÄ «zsÁ£ÀzÀ ªÀiÁAiÀiÁZËPÀ gÀZÀ£ÉAiÀÄ£ÀÄß «ªÀj¸ÀÄvÉÛãÉ. ºÁUÀÆ F ¤AiÀĪÀĪÀ£ÀÄß UÀtPÀAiÀÄAvÀæPÉÌ C¼ÀªÀr¸ÀĪÀAvÉ C++ ªÀÄvÀÄÛ Pascal programUÀ¼À£ÀÄß G¯ÉèÃT¸ÀÄvÉÛãÉ. PÁPïìlgï «zsÁ£À:-F «zsÁ£ÀzÀ°è MAzÀÄ jÃwAiÀÄ eÉÆÃqÀuÉAiÀÄ£ÀÄß «ªÀj¸ÀÄvÉÛãÉ. 5X5 ªÀiÁAiÀiÁZËPÀªÀ£ÀÄß GzÁºÀgÀuÉAiÀiÁV vÉUÉzÀÄPÉÆ¼ÉÆîÃt. ªÀÄzsÀåzÀ CqÀظÁ®Ä ºÁUÀÆ PÉÆ£ÉAiÀÄ GzÀݸÁ®Ä £ÀªÀÄä ªÉÆzÀ® ¸ÀASÉåAiÀÄ£ÀÄß vÀÄA§ÄªÀ ªÀÄ£É (CAzÀgÉ ªÀÄ£É[3, 5] ªÉÆzÀ® ªÀÄ£É). E°è 1 £ÀÄß vÀÄA¨ÉÆÃt. »ÃUÉ vÀÄA©zÀ £ÀAvÀgÀ ¸ÀASÉå 2 £ÀÄß vÀÄA§®Ä JgÀqÀ£Éà PÀtðzÀ (Secondary diagonal) ¢QÌ£À°è ºÉƾªÀÄÄRªÁV ªÀÄÄAzÀĪÀgÉAiÉÆÃt (¨ÁtzÀ UÀľÄw£À ¢QÌ£À°è) ZÀ°¸ÉÆÃt. CAzÀgÉ 2£ÀÄß vÀÄA§ÄªÀ ªÀÄ£É ªÀÄ£É[2, 6] DUÀÄvÀÛzÉ. DzÀgÉ EzÀÄ 5X5 ªÀiÁAiÀiÁZËPÀªÁVgÀĪÀÅzÀ¾ôAzÀ £ÀªÀÄUÉ GzÀݸÁ®Ä EgÀĪÀÅ¢®è. ºÁUÁV CzÉà CqÀظÁ°£À°è CAzÀgÉ 2£Éà CqÀØÝ¸Á°£À°è 1£Éà GzÀݸÁ°£À°è CAzÀgÉ ªÀÄ£É[2, 1]¾°è 2£ÀÄß vÀÄA© ¥ÀÅ£ÀB JgÀqÀ£Éà PÀtðzÀ ¢QÌ£À°è ªÀÄÄA¢£À ¸ÀASÉåAiÀÄ£ÀÄß vÀÄA¨ÉÆÃt. GzÀÝ CxÀªÁ CqÀØ ¸Á°£À°è ªÀÄ£É DPÁgÀªÀ£ÀÄß «ÄÃgôzÀgÉ PÉÆ£ÉAiÀÄ GzÀÝPÉÌ ºÁUÀÆ ªÉÆzÀ® CqÀØPÉÌ ºÉÆÃUÉÆÃt. »ÃUÉ ºÉÆÃUÀĪÁUÀ ªÀÄÄA¢£À ªÀÄ£É FUÁUÀ¯Éà vÀÄA©zÀÝgÉ MAzÀÄ GzÀÝ »AzÀPÉÌ §AzÀÄ ¥ÀÅ£ÀB JgÀqÀ£Éà PÀtðzÀ ¢QÌ£À°è ¸ÀASÉåUÀ¼À£ÀÄß 25¾ªÀgÉUÉ (F GzÁºÀgÀuÉUÉ) vÀÄA§ÄvÁÛ ºÉÆÃzÀgÉ PÁPïìlgï ªÀiÁzÀjAiÀÄ°è ªÀiÁAiÀiÁZËPÀ ¹zÀÞªÁUÀÄvÀÛzÉ. EzÀPÉÌ avÀæ 1£ÀÄß £ÉÆÃr.
avÀæ 1
| 9 | 3 | 22 | 16 | 15 |
| 2 | 21 | 20 | 14 | 8 |
| 25 | 19 | 13 | 7 | 1 |
| 18 | 12 | 6 | 5 | 24 |
| 11 | 10 | 4 | 23 | 17 |
EzÀPÉÌ C++ ªÀÄvÀÄÛ Pascal programUÀ¼ÀÄ F jÃw EªÉ.
#include
#include
#include
void coxeter(int n)
{
int i, inext, j, jnext, k, u, arr[20][20];
for (i=0; i for (j=0; j arr[i][j]=0; u=n*n; i=(n-1)/2; j=n-1; for (k=1; k<=u; k++) { arr[i][j]=k; inext=i>0?i-1:n-1; jnext=j if (arr[inext][jnext]) j--; else { i=inext; j=jnext;} } cout << "Magic Square by Coxeter Method is " << endl; for (i=0; i { for (j=0; j cout << setw(5) << arr[i][j]; cout << endl; } } void main() { int n; do { cout << "Enter a positive odd integer :"; cin >> n; } while (n<0 || !(n%2)); cout << endl; coxeter(n); getch(); } Pascal program: program xx; uses crt; var n:integer; procedure coxeter(n:integer); var i, inext, j, jnext, k, u:integer; arr: array[1..20, 1..20] of integer; begin for i:=1 to n do for j:= 1 to n do arr[i,j]:=0; u:=n*n; i:=(n+1) div 2; j:=n; for k:= 1 to u do begin arr[i,j]:=k; if (i>1) then inext:=i-1 else inext:=n; if (j if (arr[inext, jnext]<>0) then j:=j-1 else begin i:=inext; j:=jnext end end; Writeln('By Coxeter Method'); for i:= 1 to n do begin for j:= 1 to n do write(arr[i, j]:5); writeln end; end; begin {Main} repeat Write('A positive odd integer :') ; readln(n) until (n>=0) and (n mod 2<>0); coxeter(n); repeat until keypressed end. EzÀPÉÌ C++ ªÀÄvÀÄÛ Pascal programUÀ¼ÀÄ F jÃw EªÉ. #include #include #include void bachet(int n) { int i,j, k, u, arr[20][20]; for (i=0; i for (j=0; j arr[i][j]=0; u=n*n; i=(n-1)/2; j=i+1; for (k=1; k<=u; k++) { i=i<0?n-1:i; i=i>n-1?0:i; j=j<0?n-1:j; j=j>n-1?0:j; arr[i][j]=k; i--; j++; i=i<0?n-1:i; i=i>n-1?0:i; j=j<0?n-1:j; j=j>n-1?0:j; if (arr[i][j]) { i++; j++;} } cout << "Magic Square by Bachet Method is " << endl; for (i=0; i { for (j=0; j cout << setw(5) << arr[i][j]; cout << endl; } } void main() { int n; do { cout << "Enter a positive odd integer :"; cin >> n; } while (n<0 || !(n%2)); cout << endl; bachet(n); getch(); } Pascal program: program xx; uses crt; var n:integer; procedure bachet(n:integer); var i, j, k, u:integer; arr:array[1..20, 1..20] of integer; begin for i:=1 to n do for j:= 1 to n do arr[i,j]:=0; i:=(n+1) div 2; j:=i+1; u:=n*n; for k:=1 to u do begin if (i>n) then i:=1 else if (i<1) then i:=n; if (j>n) then j:=1 else if (j<1) then j:=n; arr[i,j]:=k; i:=i-1; j:=j+1; if (i>n) then i:=1 else if (i<1) then i:=n; if (j>n) then j:=1 else if (j<1) then j:=n; if (arr[i,j]<>0) then begin i:=i+1; j:=j+1 end end; writeln('Bachet Method'); for i:= 1 to n do begin for j:= 1 to n do write(arr[i,j]:5); writeln end end; begin repeat Write('A positive odd integer :') ; readln(n) until (n>=0) and (n mod 2<>0); bachet(n); repeat until keypressed end.
¨ÉZÉmï «zsÁ£À: F «zsÁ£ÀzÀ°è MAzÀÄ PÀæªÀÄzÀ°è ªÀÄzsÀåzÀ CqÀظÁ®Ä ºÁUÀÆ ªÀÄzsÀåzÀ GzÀݸÁ°VAvÀ MAzÀÄ ªÀÄ£É §®zÀ°ègÀĪÀ ªÀÄ£ÉAiÀİè CAzÀgÉ ªÀÄ£É[3, 4]¾°è 1 £ÀÄß vÀÄA¨ÉÆÃt. E®Æè »ÃUÉ vÀÄA©zÀ £ÀAvÀgÀ ¸ÀASÉå 2 £ÀÄß vÀÄA§®Ä JgÀqÀ£Éà PÀtðzÀ (Secondary diagonal) ¢QÌ£À°è ºÉƾªÀÄÄRªÁV ªÀÄÄAzÀĪÀgÉAiÉÆÃt (¨ÁtzÀ UÀľÄw£À ¢QÌ£À°è) ZÀ°¸ÉÆÃt. CAzÀgÉ 2£ÀÄß ªÀÄ£É[2, 5]¾°è vÀÄA¨ÉÆÃt. ªÀÄÄA¢£À ¸ÀASÉå 3£ÀÄß vÀÄA§ÄªÀ ªÀÄ£É ªÀÄ£É[1, 6] DUÀÄvÀÛzÉ. DzÀgÉ EzÀÄ 5X5 ªÀiÁAiÀiÁZËPÀªÁVgÀĪÀÅzÀ¾ôAzÀ £ÀªÀÄUÉ GzÀݸÁ®Ä EgÀĪÀÅ¢®è. ºÁUÁV ªÀÄ£É[1,1]¾°è 3£ÀÄß vÀÄA¨ÉÆÃt. ¥ÀÅ£ÀB JgÀqÀ£Éà PÀtðzÀ ¢QÌ£À°è ªÀÄÄA¢£À ¸ÀASÉåAiÀÄ£ÀÄß vÀÄA¨ÉÆÃt. GzÀÝ CxÀªÁ CqÀØ ¸Á°£À°è ªÀÄ£É DPÁgÀªÀ£ÀÄß «ÄÃgôzÀgÉ PÉÆ£ÉAiÀÄ GzÀÝPÉÌ ºÁUÀÆ ªÉÆzÀ® CqÀØPÉÌ ºÉÆÃUÉÆÃt. »ÃUÉ vÀÄA§ÄªÁUÀ FUÁUÀ¯Éà vÀÄA©zÀ ªÀÄ£É ¹PÀÌgÉ ¥ÀæªÀiÄS PÀtðzÀ ¢QÌ£À°è (Main diagonal) MAzÀÄ ªÀÄ£É ªÀÄÄAzÀĪÀgÉzÀÄ ªÀÄÄA¢£À ¸ÀASÉåAiÀÄ£ÀÄß D ªÀÄ£ÉAiÀİè vÀÄA© ¥ÀÅ£ÀB JgÀqÀ£Éà PÀtðzÀ (Secondary diagonal) ¢QÌ£À°è ZÀ°¸ÀÄvÁÛ ¸ÀASÉåUÀ¼À£ÀÄß 25¾ªÀgÉUÉ(F GzÁºÀgÀuÉAiÀİè) vÀÄA§ÄvÁÛ ºÉÆÃzÀgÉ ¨ÉZÉmï «zsÁ£ÀzÀ°è ªÀiÁAiÀiÁZËPÀ vÀAiÀiÁgÁUÀÄvÀÛzÉ. EzÀPÉÌ avÀæ 2£ÀÄß £ÉÆÃr.avÀæ 2.
3 16
9
22
15
20
8
21
14
2
7
25
13
1
19
24
12
5
18
6
11
4
17
10
23
ಪ್ರತಿಕ್ರಿಯೆ (0)
ಇನ್ನೂ ಯಾವುದೇ ಪ್ರತಿಕ್ರಿಯೆಗಳಿಲ್ಲ. ಮೊದಲ ಪ್ರತಿಕ್ರಿಯೆ ಮಾಡಿ!