خوارزمية المربع السحري عبارة عن علاقة رياضية بين خلايا المربع بحيث تحتوي كل خلية على رقم صحيح و يكون مجموع عناصر أي سطر يساوي مجموع عناصر أي عمود و يساوي مجموع عناصر القطر.

للمربع السحري أنواع عديدة، لكنني تناولت في هذه الخوارزمية نمط الأرقام الإفرادية فقط، طبعاً نص الخوارزمية مكتوب بشيفرة الخوارزميات، لكن بإمكانكم الحصول على شيفرة مكتوبة بلغة C++ / Qt مع برنامج تطبيقي للخوارزمية من خلال الروابط أدناه.



 0: type magic(type n)
 1: {
 2:     type square[][];
 3:     #حساب ثابت عدد العناصر
 4:     const type nn = n*n;
 5:     #حساب ثابت القيمة المتوسطة
 6:     const type mn = (nn/2)+1;
 7:     #حساب ثابت مجموع السطر أو العمود أو القطر
 8:     const type sum = n* (nn+1)/2;
 9:     type row=0,column=n/2,x=1;
10:     while(x<=nn)
11:     {
12:         square[row][column]=x;
13:         row--;
14:         column++;
15:         if((row<0 && column >=n))
16:          {
17:              row+=2;
18:              column--;
19:          }
20:          else
21:          {
22:              if(row<0)
23:                  row+=n;
24:              if(column>=n)
25:                  column=0;
26:              if(square[row][column] != 0)
27:              {
28:                  row+=2;
29:                  column--;
30:              }
31:         }
32:         x++;
33:     }
34:     return square;
35: }

روابط مفيدة…
لتحميل شيفرة الخوارزمية (تعمل على لينكس Linux و ويندوز) - إنقر هنا
لتحميل البرنامج التنفيذي الخاص بويندوز Windows - إنقر هنا
للإطلاع على لمحة تاريخية للخوارزمية و على بنيتها الرياضية - إنقر هنا


صفحات مشابهة...
  • أيقونات خيالية
  • أيقونات طبية
  • أيقونات لوتس
  • أيقونات ماتريكس
  • إختراع جديد في بلدية حلب