Практична робота 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]