середу, 17 лютого 2021 р.

Пошук цілочисельних розвязків рівнянь з двома змінними на Python3

 

Обчислювальні алгоритми на мові Python3
Завдання 1. Створити і реалізувати алгоритм мовою програмування Python3 для обчислення цілочислових розв’язків рівняння:  z2-x2-y2=2xy на множині цілих чисел з первіркою
Реалізація.

import random

print("Пошук розвязків рівняння: z^2-x^2-y^2=2xy")

k=random.randint(-20, 30)

print("k=", k)

print("Цілочисельний розвязок рівняння: x=2k-1, y=1-3k, z=k")

print(" x=2k-1=", 2*k-1, "y=1-3k=",1-3*k, "z=k=",k)

print("(x;y;z)=(",2*k-1,"; ", 1-3*k, "; ", k, ")")

for j in range(-9,-6):

    print("(x;y;z)=(",2*(j)-1,"; ", 1-3*(j), "; ", j, ")")

    a=int(-(2*(j)-1)**2-(1-3*(j))**2+(j)**2 -2*(2*j-1)*(1-3*j))

    if a==0:

       print("Перевірка розвязків для k=:", j,"  -True")

    else:

       print("Перевірка розвязків для k=:","  -False")

Завдання 2. Створити і реалізувати алгоритм мовою програмування Python3 для обчислення цілочислових розв’язків рівняння: xy-z(z+9)+90=0 на множині цілих чисел з первіркою.
Реалізація.

import random

print("Пошук цілочисельних розвязків рівняння: xy-z(z+9)+90=0 з перевіркою")

m=random.randint(-50, 100)

print("m=", m)

print("Цілочисельний розвязок рівняння: x=m-11, y=m+10, z=m-5")

print(" x=m-1=", m-11, "y=m+10=", m+10, "z=m-5=", m-5)

print("(x;y;z)=(", m-11,"; ", m+10, "; ", m-5, ")")

for n in range(-2,3):

    print("(x;y;z)=(",n-11,"; ", n+10, "; ", n-5, ")")

    a=int((n-11)*(n+10)-(n-5)*(n+4)+90)

    if a==0:

       print("Перевірка розвязків для n=:", n,"  -True")

    else:

       print("Перевірка розвязків для n=:", n ,"  -False")

Завдання 3. Створити і реалізувати алгоритм мовою програмування Python3 для обчислення цілочислових розв’язків рівняння:  xy-z2=0 на множині цілих чисел з перевіркою.
Реалізація.

import random

print("Пошук цілочисельних розвязків рівняння: xy-z^2=0 з перевіркою")

p=random.randint(-1000, 1000)

print("p=", p)

print("Цілочисельний розвязок рівняння-це трійка: x=p^4+p^3, y=p^2+p, z=p^3+p^2")

print(" х=p^4+p^3=", p**4+p**3, "y=p^2+p=", p**2+p, "z=p^3+p^2=", p**3+p**2)

print("(x;y;z)=(", p**4+p**3,"; ", p**2+p, "; ", p**3+p**2, ")")

for t in range(-10,50):

    print("(x;y;z)=(",t**4+t**3,"; ", t**2+t, "; ", t**3+t**2, ")")

    a=(t**4+t**3)*(t**2+t)-(t**3+t**2)**2

    if a==0:

       print("Перевірка розвязків для t=:", t,"  -True")

    else:

       print("Перевірка розвязків для t=:", t ,"  -False")

 

 

Завдання 4. Створити і реалізувати алгоритм мовою програмування Python3 для обчислення цілочислових розв’язків рівняння:  (x+1)(y+1)-z=1 на множині цілих чисел з перевіркою.
Реалізація.

import random

print("Пошук цілочисельних розвязків рівняння: (x+1)(y+1)-z=1 з перевіркою")

k=random.randint(3,100)

print("k=", k)

print("Цілочисельний розвязок рівняння-це трійка: x=k^4-k^2, y=k^2+k^4, z=k^8+k^4")

print(" х=k^4-k^2=", k**4-k**2, "y=k^2+k^4,=",k**2+k**4, "z=k^8+k^4=", k**8+k**4)

print("(x;y;z)=(", k**4-k**2,"; ", k**2+k**4, "; ", k**8+k**4, ")")

print(" ****Пошук цілочисельних розвязків (x;y;z) у циклі з лічильником з перевіркою***")

for k in range(-2,2):

    print("(x;y;z)=(",k**4-k**2,"; ", k**2+k**4, "; ", k**8+k**4, ")")

    a=(k**4-k**2+1)*(k**2+k**4+1)-(k**8+k**4)-1

    if a==0:

       print("Перевірка розвязків для k=:", k,"  -True")

    else:

       print("Перевірка розвязків для k=:",k ,"  -False")

 

Завдання 5. Створити і реалізувати алгоритм мовою програмування Python3 для обчислення цілочислових розв’язків рівняння:  5x-8y=4 на множині цілих чисел з перевіркою.
Реалізація.

                  import random

print("Пошук цілочисельних розвязків рівняння вигляду: 5x-8y=4 з перевіркою")

a=5

b=-8

c=4

print("a=", a, "b=", b, "c=", c)

print("Цілочисельний розвязок рівняння-це двійка чисел: x=b*k+xo, y=-a*+y0")

print(" ****Пошук цілочисельних розвязків (x;y) у циклі з лічильником з перевіркою***")

for x in range(0, 8):

     for y in range(0, 8):

           print("(x;y)=(",x,"; ", y, ")")

           h=int(a*x+b*y-c)

           if h==0:

                print("Перевірка розвязків для x0=:", x,"  y0=:", y,"-True")

                x0=x

                y0=y

          else:

                 print("Перевірка розвязків для x=:", x,"  y=:", y," -False")

for k in range(-5,5):

       print(" х=",b,"*",k,"+",x0, "=", b*k+x0, "y=",-a,"*",k,"+",y0,"=",-a*k+y0 )

       print(a,"*x+", b, "*y=", c, )

      print("Розвязок: (x;y)=(", b*k+x0, "; ",-a*k+y0,")" )

      print("  *************************  ")


Завдання 6. Реалізувати нелінійні алгоритми з повторення мовою програмування Python3  в середовищі Thonny відповідно до зразку:

print("це алгоритм: цикл з лічильником  по символам   з пропуском у слові: hello букви: h")

for i in 'hello':

    if i=='h':

        continue

    print("Результат: ", i)

print("це алгоритм: цикл з лічильником  по символам   з пропуском у слові: hello букв: h,e")

for i in 'hello':

    if i=='h':

        continue

    if i=='e':

        continue

    print("Результат: ", i)

print("це алгоритм: цикл з лічильником  по списку цифр з  кроком 2 ")

a=[1,2,3,4,5,6,7,8,9]

print("початковий список",a)

for i in range(0,8,2):

    a[i]=a[i]*10

    print("Результат зміни: ", "a[",i,"]=", a[i])

print("змінений список",a)

 

Завдання 7. Реалізувати нелінійні алгоритми з повторення мовою програмування Python3  в середовищі Thonny відповідно до зразку:

print("це алгоритм суми деяких чисел: цикл з лічильником від 0 до 7")

s=0

a=1

for i in range(8):

      a=a+2

      s=s+a

      print(" крок циклу i=", i)

      print("Результат додавання: a+2=", a, "Результат суми чисел: S=S+a", s)

print("це цикл з лічильником  по списку з  кроком +3 і виконанням дій над деякими числами")

a=[1,2,3,4,5,6,7,8,9]

print("початковий список",a)

for i in range(0,9,3):

    a[i]=a[i]*500+300

    print("Результат зміни: ", "a[",i,"]*500+300=", a[i])

print("змінений список",a)

print("це цикл з лічильником  по списку з  кроком -3 і виконанням дій над деякими числами")

b=[10,20,30,40,50,60,70,80,90]

print("початковий список",b)

for i in range(7,0,-3):

    b[i]=b[i]**2-1

    print("Результат зміни: ", "b[",i,"]**2-1=", b[i])

print("змінений список",b)

Завдання 8. Реалізувати нелінійні алгоритми з повторення мовою програмування Python3  в середовищі Thonny відповідно до зразку:

print("це алгоритм суми зростаючої послідовності чисел до 101: цикл 1 з передумовою")

b=1

g=0

while b<100:

    b=b+10

    g=g+b

    print("b=", b, " Результат: g=", g)

else:

    print("вихід із циклу")

print("це алгоритм суми спадної послідовності чисел до 0: цикл 2 з передумовою")

c=100

p=0

while c>0:

       c=c-20

       p=p+c

       print("c=", c, " Результат: P=", p)

else:

      print("вихід із циклу")

 

Завдання 9. Реалізувати нелінійні алгоритми з повторення мовою програмування Python3  в середовищі Thonny відповідно до зразку:

print("це алгоритм пошуку деякихрозвязків рівняння: 2a+3b=14")

s=0

k=0

for i in range(-100,100):

    for j in range(-100,100):

        s=2*i+3*j

        if s==14:

            print("Це розвязок рівняння: 2a+3b=14 ", "a=",i,"b=", j)

            k=k+1

print("Це кількість знайдених розвязок рівняння: k= ", k)

 

Завдання 10. Реалізувати нелінійні алгоритми з повторення мовою програмування Python3  в середовищі Thonny відповідно до зразку:

print("це алгоритм пошуку окремих розвязків рівняння: 2a+3b+4c=50")

s=0

k=0

for i in range(-10,10):

    for j in range(-10,10):

        for m in range(-10,10):

            s=2*i+3*j+4*m

            if s==50:

                print("Це розвязок рівняння: 2a+3b+4c=50: ", "a=",i,"b=", j,"c=", m)

                k=k+1

print("Це кількість знайдених розвязок рівняння: k= ", k)

 

Немає коментарів:

Дописати коментар