Gönderen Konu: Soru 2: Çok Değişkenli Doğrusal Denklemi Doğal Sayılarda Çözme  (Okunma sayısı 4598 defa)

Çevrimdışı Lokman Gökçe

  • Lokman Gökçe
  • Administrator
  • Geo-Maniac
  • *********
  • İleti: 3.716
  • Karma: +23/-0
  • İstanbul
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.
« Son Düzenleme: Mart 17, 2022, 05:51:00 ös Gönderen: Lokman Gökçe »
Uğraşınca çözebileceğim zorlukta olan soruları çözmeyi severim.

Çevrimdışı Lokman Gökçe

  • Lokman Gökçe
  • Administrator
  • Geo-Maniac
  • *********
  • İleti: 3.716
  • Karma: +23/-0
  • İstanbul
Ynt: Soru 2: Çok Değişkenli Doğrusal Denklemi Doğal Sayılarda Çözme
« Yanıtla #1 : 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.
« Son Düzenleme: Mart 17, 2022, 05:52:33 ös Gönderen: Lokman Gökçe »
Uğraşınca çözebileceğim zorlukta olan soruları çözmeyi severim.

 


Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 
SimplePortal 2.3.3 © 2008-2010, SimplePortal