المربع السحري Magic Square
نشر بواسطة محمد بشير النعيمي في 09 مارس 2008 الساعة 06:08 ص | وسم كـ: مصادر مفتوحة
خوارزمية المربع السحري عبارة عن علاقة رياضية بين خلايا المربع بحيث تحتوي كل خلية على رقم صحيح و يكون مجموع عناصر أي سطر يساوي مجموع عناصر أي عمود و يساوي مجموع عناصر القطر.
للمربع السحري أنواع عديدة، لكنني تناولت في هذه الخوارزمية نمط الأرقام الإفرادية فقط، طبعاً نص الخوارزمية مكتوب بشيفرة الخوارزميات، لكن بإمكانكم الحصول على شيفرة مكتوبة بلغة 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 - إنقر هنا
للإطلاع على لمحة تاريخية للخوارزمية و على بنيتها الرياضية - إنقر هنا
صفحات مشابهة...

أريد معرفة الى من ترجع تسمية المربع السحري من فضلكم وشكرا
[ردّ]
محمد بشير النعيمي ردّ :
كما ذكر في صفحة ويكيبيديا التسمية ترجع لأحد العلماء الصينيين
[ردّ]