#benzer ve alternatif olarak def bolunuyormu(sayi): durum = False for i in range(sayi-1,1,-1): if(sayi%i==0): durum= True return durum for i in range(2,1000): if(bolunuyormu(i)==False): print(i)
merhaba hocam.. benim bir problemim var 1 den buyuk pozitif bir tamsayinin asal carpanlarini bulmam gerekiyor. ve bu asal carpanlari kucukten buyuge siralamam gerekiyor. programin normal halini for döngüler ile yazabilsemde bunun rekursif bir fonksiyon olarak nasil yazacagim bir turlu yapamiyorum. bu aralar rekürsif fonksiyonlara çalışıyorum yaptığım programların rekürsif hallerine çalışıyorum. yardimci olabilirmisiniz ne kadar uğraşsamda olmuyor.
def factors(x): if x == 1: print(1 ,end =" ") elif num % x == 0: factors(x-1) print(x, end =" ") else: factors(x-1) x = num = int(input('Enter an integer: ')) print('The factors of', x, 'are: ',end =" ") factors(x)
for i in range (2,10): bolenSayı=0 for j in range (2,i): if i%j==0: bolenSayı+=1 if bolenSayı==0: print(i) şimdi kodu böyle yazdığımda 2, 2'ye bölündüğünden bölen sayı=1 olacak o yüzden 2 yi almamalı ama kodu okuttuğumda 2 yi de dahil ediyor. biliyorum 2 de asal sayı ama bu koda göre değil. please help
Şu döngüyü adım adım bana anlatacak var mı ya? J ilk turda 3 değerini aldı altında yine döngü var i de 2 değerinde ilk turda i 2-3 aralığında oldu dolayısıyla if 3%2 =0 ise bolen_sayac +=1 alttaki döngüden çıktı if olen sayac ==0 ise dedi bölen sayaç zaten sıfırdı çünkü 3%2 = 0 değil. o yüzden j orada 3 tü ve 3 ü yazdırdı. Sonra döngünün başına gitti. SORUYU SORARKEN KENDİ KENDİME CEVABI ANLADIĞIMI FARKETTİM. Teşekkürler. :D Ya mesele döngüyü anlamak değil. Ben çok düşündüm asalı nasıl bulduracam diye algoritmayı bir türlü kuramadım. Saçma sapan if and or durumlarına girdim.
Bu kanalı yeni gördüm ve ondan sürekli mesaj atıyorum bu kanalı herkezin görmesini istedigimden
(Mesaj sayısı etkiliyordur inşallah )
Teşekkürler, olumlu yorumların için
hocam benim sorumda bu 3 ve 1000 arasındaki asal sayıların toplamını bulmak. Acaba yardımcı olabilir misiniz?
merhaba toplam=0 diye bir değişken oluşturun eğer bolen_sayac==0: ise toplam+=j ve print(toplam) yazdırın aynı koda
Merhaba hocam iki tam sayi arasinda kalan tamsayilarin carpimini nasil yazdiririm yeni basladim aklim karisti yardimci olursaniz sevinirim.
#benzer ve alternatif olarak
def bolunuyormu(sayi):
durum = False
for i in range(sayi-1,1,-1):
if(sayi%i==0):
durum= True
return durum
for i in range(2,1000):
if(bolunuyormu(i)==False):
print(i)
hocam iki de asal sayı fakat benim yaptıgım koda ikiyi almiyor neden ?
ilk for döngüsünde 3 sayısından başlatıyor oraya 2 yazabilirsin
@@daghan3831 evet öğrendim zaten eski bir yorumdu ama yinede sağol
merhaba hocam.. benim bir problemim var 1 den buyuk pozitif bir tamsayinin asal carpanlarini bulmam gerekiyor. ve bu asal carpanlari kucukten buyuge siralamam gerekiyor. programin normal halini for döngüler ile yazabilsemde bunun rekursif bir fonksiyon olarak nasil yazacagim bir turlu yapamiyorum. bu aralar rekürsif fonksiyonlara çalışıyorum yaptığım programların rekürsif hallerine çalışıyorum. yardimci olabilirmisiniz ne kadar uğraşsamda olmuyor.
def factors(x):
if x == 1:
print(1 ,end =" ")
elif num % x == 0:
factors(x-1)
print(x, end =" ")
else:
factors(x-1)
x = num = int(input('Enter an integer: '))
print('The factors of', x, 'are: ',end =" ")
factors(x)
While ile nasil yapilir?
bu zorladı işte. ama iyidir zorlanmak, inşallah adam akıllı kaparım şu dili
durum nedir
Güzel
for i in range (2,10):
bolenSayı=0
for j in range (2,i):
if i%j==0:
bolenSayı+=1
if bolenSayı==0:
print(i)
şimdi kodu böyle yazdığımda 2, 2'ye bölündüğünden bölen sayı=1 olacak o yüzden 2 yi almamalı ama kodu okuttuğumda 2 yi de dahil ediyor. biliyorum 2 de asal sayı ama bu koda göre değil. please help
dizi = []
for x in range(1,1000):
for asal in range(2,x):
if (x % asal) == 0:
break
elif(x % asal !=0) and (asal == x-1):
dizi.append(x)
print(dizi)
@@CodeCube tesekkurler
Şu döngüyü adım adım bana anlatacak var mı ya? J ilk turda 3 değerini aldı altında yine döngü var i de 2 değerinde ilk turda i 2-3 aralığında oldu dolayısıyla if 3%2 =0 ise bolen_sayac +=1 alttaki döngüden çıktı if olen sayac ==0 ise dedi bölen sayaç zaten sıfırdı çünkü 3%2 = 0 değil. o yüzden j orada 3 tü ve 3 ü yazdırdı. Sonra döngünün başına gitti. SORUYU SORARKEN KENDİ KENDİME CEVABI ANLADIĞIMI FARKETTİM. Teşekkürler. :D Ya mesele döngüyü anlamak değil. Ben çok düşündüm asalı nasıl bulduracam diye algoritmayı bir türlü kuramadım. Saçma sapan if and or durumlarına girdim.
dizi = []
for x in range(1,1000):
for asal in range(2,x):
if (x % asal) == 0:
break
elif(x % asal !=0) and (asal == x-1):
dizi.append(x)
print(dizi)
merhaba peki neden kodu çalıştırınca 2yi almadı 2 de asal sayı
@@fatmaduru5400 2 sayısı çift olduğu için sayıyı almadı
@@fatmaduru5400
for sayi in range(1,1000):
if sayi > 1:
for i in range(2,sayi):
if (sayi % i) == 0:
break
else:
print(sayi)
@@sertcom çok teşekkürlre
çok büyük yardim etiniz
@@fatmaduru5400 yardımcı olduğuma sevindim