середу, 4 липня 2018 р.

Генератор магічних квадратів мовою програмування Python


Практична робота 6. 
Генератор магічних квадратів мовою програмування Python

Завдання 1. Створити та реалізувати алгоритм, що використовує вбудовані функції  для генерування послідовність девяти  цілих чисел, які утворюють магічний квадрат 3х3 на сумах без використання генератора  випадкових чисел

print '** Генерування 1-ої послідовності чисел(арифметичної прогресії)**'
k=list(range(5, 54, 6))
print '{K}=',k
print '***Властивості арифметичної прогресії {K}****'
print 'Члени послідовності при діленні на', k[2]-k[1],' на дають остачу', k[1]
print 'summa {K}=', sum(k)
print 'min{K}=', min(k), 'max{K}=',max(k)
print 'Кількість членів прогресії K:', len(k)
print 'Послідовність чисел  {K} зростає з постійним кроком:', k[2]-k[1]
print 'Магічний квадрат 3x3 на сумах із чисел послідовності {N} з магічною сумою:', sum(k)//3
print k[1], k[6], k[5]
print k[8], k[4], k[0]
print k[3], k[2], k[7]
print 'Магічний квадрат 3x3 на добутках із показників послідовності {N} з магічним добутком:' 
print 2**k[1], 2**k[6], 2**k[5]
print 2**k[8], 2**k[4], 2**k[0]
print 2**k[3], 2**k[2], 2**k[7]

Завдання 2. Створити та реалізувати алгоритм, що використовує вбудовані функції  

print '** Генерування  2-ої послідовності чисел(арифметичної прогресії)**'
m=list(range(-100, 1926, 225))
print '***Властивості арифметичної прогресії {M}****'
print '{M}=',m
print 'Члени послідовності при діленні на', m[2]-m[1],' на дають остачу', m[1]
print 'Summa {M}=', sum(m)
print 'min{M}=', min(m), 'max{M}=', max(m)
print 'Кількість членів прогресії M:', len(m)
print 'Послідовність чисел  {M} з зростає з постійним кроком:', m[2]-m[1]
print 'Магічний квадрат 3x3 на сумах із чисел послідовності {N} з магічною сумою:', sum(m)//3
print m[1], m[6], m[5]
print m[8], m[4], m[0]
print m[3], m[2], m[7]
print 'Магічний квадрат 3x3 на добутках із показників послідовності {N} з магічним добутком:' 
print 2**m[1], 2**m[6], 2**m[5]
print 2**m[8], 2**m[4], 2**m[0]
print 2**m[3], 2**m[2], 2**m[7]

Завдання 3. Створити та реалізувати алгоритм, що використовує вбудовані функції  

print '** Генерування 3-ої послідовності чисел(арифметичної прогресії)**'
n=list(range(100,  -61, -20))
print '{N}=', n
print '***Властивості арифметичної прогресії {}****'
print 'Члени послідовності при діленні на', n[2]-n[1],' на дають остачу', n[1]
print 'summa {N}=', sum(n)
print 'min{N}=', min(n),'max{N}=', max(m)
print 'Кількість членів прогресії N:', len(n)
print 'Послідовність чисел  {N} спадає з постійним кроком:',  n[2]-n[1]
print 'Магічний квадрат на сумах із чисел послідовності {N} з магічною сумою:', sum(n)//3
print n[1], n[6], n[5]
print n[8], n[4], n[0]
print n[3], n[2], n[7]
print 'Магічний квадрат на добутках із чисел послідовності {N} з магічним добутком:' 
print 2**n[1], 2**n[6], 2**n[5]
print 2**n[8], 2**n[4], 2**n[0]
print 2**n[3], 2**n[2], 2**n[7]