Geomania.Org Forumları

Python Kodlama ve Matematik => Python Kodlama ve Matematik => Konuyu başlatan: Lokman Gökçe - Mart 16, 2022, 08:39:12 ös

Başlık: Soru 2: Çok Değişkenli Doğrusal Denklemi Doğal Sayılarda Çözme
Gönderen: Lokman Gökçe - Mart 16, 2022, 08:39:12 ös
Soru 2: $x, y, z, t, n$ doğal sayıları (negatif olmayan tam sayıları) verildiğinde $i \leq x$, $j \leq y$, $k \leq z$, $v \leq t $ kısıtlayıcı şartı altında $$i + 2j + 3k + 4v = n$$ denklemini sağlayan $(i, j, k, v)$ doğal sayı dörtlülerinin sayısını ve çözüm kümesini veren Python 3.9 programını yazınız.



Açıklamalar: $x, y, z, t, n$ girdileri (başlangıç verilenleri) için

x = int(input())

y = int(input())

z = int(input())

t = int(input())

n = int(input())

kodlarını kullanabilirsiniz. Örneğin $x=3, y = 3, z= 2, t = 1, n = 12$ girdileri için $i + 2j + 3k + 4v = 12$ denkleminin verilen özelliklerdeki çözüm sayısı $8$ olur. Ayrıca çözüm kümesi $S$ olmak üzere,
$$S = \{(2, 3, 0, 1), (1, 2, 1, 1), (0, 1, 2, 1), (0, 3, 2, 0), (3, 1, 1, 1), (2, 2, 2, 0), (2, 0, 2, 1), (3, 3, 1, 0) \}$$
olur.
Başlık: Ynt: Soru 2: Çok Değişkenli Doğrusal Denklemi Doğal Sayılarda Çözme
Gönderen: Lokman Gökçe - Mart 16, 2022, 08:45:57 ös
Çözüm: List-comprehension metodu ile ilerledim. Google Colab'da çalıştırıp keyfi girdiler ile test edilebilir:

Kod: [Seç]
# i < x + 1, j < y + 1, k < z + 1, v < t + 1 kısıtlayıcı şartı altında
# i + 2j + 3k + 4v = n denklemini sağlayan (i, j, k, v) doğal sayı dörtlülerinin sayısının bulunması:
x = int(input())
y = int(input())
z = int(input())
t = int(input())
n = int(input())
quadruples = { (i,j,k,v) for i in range(x+1) for j in range(y+1) for k in range(z+1) for v in range(t+1) if i+ 2*j + 3*k + 4*v == n }
print("i + 2j + 3k + 4v = n  denkleminin verilen özelliklerdeki çözüm sayısı {} olur.".format(len(quadruples)))
print("Çözüm Kümesi = {}'dir.".format(quadruples))


List-comprehension metodu ile ilgili detaylı bilgi için google'da arama yapılabilir.
SimplePortal 2.3.3 © 2008-2010, SimplePortal