Basit 1.Dereceden Diyafont Denklem Çözücü (PYTHON)
"ax+by=c" şeklindeki lineer denklemlerin çözümlerin tam sayı olması kaydıyla obeb(a,b)/c ise sonsuz çözümü vardır.Bu şekildeki denklemlerin çözümü için basit bir python 3 programı:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import math | |
def brute_diyafont(a,b,c): | |
x=0 | |
y=(c-a*x)/b | |
while type(y)!=type(3.4): | |
x=x+1 | |
return (x,int(y)) | |
while True: | |
print("Lineer Diyafont Denklem programıma hoşgeldin") | |
print("ax+by=c denklemindeki a,b ve c değerlerini sırayla giriniz.") | |
a=int(input("a:")) | |
b=int(input("b:")) | |
c=int(input("c:")) | |
if c%math.gcd(a,b)==0: | |
print("Denklem için çözüm vardır.") | |
y=brute_diyafont(a,b,c) | |
print("ilk çözüm:",y) | |
h=math.gcd(a,b) | |
z=math.gcd(h,c) | |
print("Genel çözüm:","x=",y[0],"+",int(a/z),"k","y=",y[1],"+","-",int(b/z),"k") | |
q=int(input("Sonsuz çözümleri görmek için 2 yazın")) | |
if q==2: | |
k=-1 | |
while True: | |
print("x=",y[0]+int(a/z)*k,"y=",y[1]+(-(int(b/z)*k))) | |
k+=1 | |
else: | |
print("Denklem için çözüm yoktur.") | |
Yorumlar
Yorum Gönder