Ödev yardımı

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üye
Katılım
24 Ağu 2020
Mesajlar
7
Tepki puanı
1
Yaş
28
5 HİZMET YILI
Merhabalar saygıdeğer arkadaşlar.
Okuduğum bölümde şöyle bir final ödevi verdiler fakat işin içinden çıkamadım. Yardımcı olursanız sevinirim.

Ben iki basamaklı sayıları ona , üç basamaklı sayıları yüze bölüp modunu alıp o şekilde toplam değerlerini buluyorum ama karekök içindeki değerleri nasıl daha doğru ayıracağımı bilemedim. Recrusive ile mi halletmem gerekiyor ? Yorum yazanlara şimdiden teşekkürler
 
Son düzenleme:
Üye
Katılım
24 Ağu 2020
Mesajlar
7
Tepki puanı
1
Yaş
28
5 HİZMET YILI
Recrusive ' e fazla hakim değilim. Örnek bir kod yazabilir misiniz acaba? Uyarlamakta zorluk çekiyorum da.
 
Banlı Üye
Katılım
18 Şub 2020
Mesajlar
520
Çözümler
4
Tepki puanı
71
Yaş
23
6 HİZMET YILI
Soruyu ss alın atın allah aşkına kopyala yapıştır yapmışsınız kör oluyoruz okurken ayrıca kareler var böyle nasıl yardım etmemzi ibekliyosun
 
Üye
Katılım
24 Ağu 2020
Mesajlar
7
Tepki puanı
1
Yaş
28
5 HİZMET YILI
Çok haklısınız özür dilerim hemen editliyorum.
Post automatically merged:

İçeriği güncelledim şuan bakabilirsiniz.
 
Son düzenleme:
Onaylı Üye
Katılım
31 Tem 2020
Mesajlar
50
Tepki puanı
0
Yaş
27
5 HİZMET YILI
karekökün karesini al oradan sonra modunu alarak hallet
Post automatically merged:

bu arada algoritma ödevin mi bu merak ettim
 
Son düzenleme:
Üye
Katılım
24 Ağu 2020
Mesajlar
7
Tepki puanı
1
Yaş
28
5 HİZMET YILI
ünideyim
Post automatically merged:

hayır kod yazmam gerekiyor
Post automatically merged:

C
 
Banlı Üye
Katılım
18 Şub 2020
Mesajlar
520
Çözümler
4
Tepki puanı
71
Yaş
23
6 HİZMET YILI
Python:
import math #Kök almak için math modülünü içeri aktardık
tamkareler = [] #tam kare sayıları almak için bir liste oluşturduk çünkü S- sayıları sadece tam kare sayılar için geçerli. Diğer tür sayılar kök dışına ondalıklı sayı olarak (float) çıkar. Kök içindei sayılarıda toplayarak ondalıklı sayı elde edemeyiz
for i in range(1,10000): #1 den 9999a kadar olan sayıların her biri için aşşağıdakileri yaptık
    sayi = math.sqrt(i) #i sayısının karesini sayi değişkenine aktardık
    if len((str(sayi)))<=4: #eğer sayi değişkeninin karakter uzunluğu 4 ten büyük değilse aşşağıdakileri yaptırdık. Sebebide 9999 a kadar olan en büyük tam kare sayının karekökü 99dur. Ama her değer floata dönüştüğü için şöyle bir çıktı geliyor: 99.0 gibi. O yüzden 4 haneyi geçerse bir float değerdir yani herhangi bir sayının karekökü değildir. Not: Float olması demek, tam kare olmayan bir sayının karekökünü almışız demek
        # print(f"{sayi} -> {i}") #görebilmek için yazdırdık
        tamkareler.append(int(i)) #tamkareler listemize bulduğumuz tam kare leri ekledik

sonuçlar = []

for i in tamkareler:
    uzunluk = len(str(i))

    if uzunluk == 2:
        birinci_hane = int(str(i)[0])
        ikinci_hane = int(str(i)[1])

        sonuc = math.sqrt(i)

        if sonuc == birinci_hane+ikinci_hane:
            sonuçlar.append(i)

    if uzunluk == 3:
        birinci_hane=int(str(i)[0])
        ikinci_hane=int(str(i)[1])
        üçüncü_hane=int(str(i)[2])
        ilk_iki_hane=int(str(i)[0:2])
        son_iki_hane=int(str(i)[1:3])

        sonuc = math.sqrt(i)

        if sonuc == birinci_hane+ikinci_hane:
            sonuçlar.append(i)
        elif sonuc== ikinci_hane+üçüncü_hane:
            sonuçlar.append(i)
        elif sonuc== birinci_hane+üçüncü_hane:
            sonuçlar.append(i)
        elif sonuc==ilk_iki_hane+üçüncü_hane:
            sonuçlar.append(i)
        elif sonuc== birinci_hane+son_iki_hane:
            sonuçlar.append(i)

    if uzunluk == 4:
        bir=int(str(i)[0])
        iki=int(str(i)[1])
        üç=int(str(i)[2])
        dört = int(str(i)[3])


        ilk_iki=int(str(i)[0:2])
        son_iki=int(str(i)[2:4])

        ilk_üç =int(str(i)[0:3])
        son_üç =int(str(i)[1:4])

        sonuc = math.sqrt(i)

        if sonuc == bir:
            sonuçlar.append(i)
        elif sonuc == iki:
            sonuçlar.append(i)
        elif sonuc == üç:
            sonuçlar.append(i)
        elif sonuc == dört:
            sonuçlar.append(i)
        elif sonuc == bir+iki:
            sonuçlar.append(i)
        elif sonuc == bir+üç:
            sonuçlar.append(i)
        elif sonuc == bir+dört:
            sonuçlar.append(i)
        elif sonuc == iki+üç:
            sonuçlar.append(i)
        elif sonuc == iki+dört:
            sonuçlar.append(i)
        elif sonuc == üç+dört:
            sonuçlar.append(i)
        elif sonuc == bir+iki+üç:
            sonuçlar.append(i)
        elif sonuc == bir+üç+dört:
            sonuçlar.append(i)
        elif sonuc == iki+üç+dört:
            sonuçlar.append(i)
        elif sonuc == bir+iki+üç:
            sonuçlar.append(i)
        elif sonuc == bir+iki+üç+dört:
            sonuçlar.append(i)
        #
        elif sonuc == ilk_iki+son_iki:
            sonuçlar.append(i)
        elif sonuc == ilk_iki+üç:
            sonuçlar.append(i)
        elif sonuc == ilk_iki+dört:
            sonuçlar.append(i)
        elif sonuc == ilk_iki+üç+dört:
            sonuçlar.append(i)
        elif sonuc == son_iki+bir:
            sonuçlar.append(i)
        elif sonuc == son_iki+iki:
            sonuçlar.append(i)
        elif sonuc == son_iki+bir+iki:
            sonuçlar.append(i)
        elif sonuc == ilk_üç+dört:
            sonuçlar.append(i)
        elif sonuc == son_üç+bir:
            sonuçlar.append(i)
        #
        elif sonuc == ilk_iki:
            sonuçlar.append(i)
        elif sonuc == son_iki:
            sonuçlar.append(i)
        elif sonuc == ilk_üç:
            sonuçlar.append(i)
        elif sonuc == son_üç:
            sonuçlar.append(i)


print(sonuçlar)

#https://www.youtube.com/channel/UCt7_jmwhIWEFq0VzSJC-Y1A?view_as=subscriber
#Kanalda da algoritma alıştırmalarına başladım. Bu tarz şeylerede geçeceğim yakında
Post automatically merged:

Kod çok uzun adam bin haneli sayı istese yine böyle tek tek yazacakmıydın diyenler gelmeden önce: Adam bilerek zaten 5 haneye bile geçmiyor çünkü bunun en sağlıklı yöntemi budur. Haneleri rasgele seçip her birini 100 kere denetip yine yapabiliriz fakat bu şekilde tüm olasılıkları ele alıyoruz. 4 haneli bir kümenin 15 elemanlı alt kümelerinin hepsini kendi içinde topluyoruz. Aslında 4 hanelide o kadar uzatmayada gerek yoktu çünkü en düşük 100 ve 100 ü elde etmek için en büyük rakam olan 9 u 4 defa bile toplasak yine ulaşamayız. Dolayısıyla 2 hanelileri toplayarak başlayabilirdik fakat mantığının anlaşılması açısından böyle yaptım
 
Üye
Katılım
24 Ağu 2020
Mesajlar
7
Tepki puanı
1
Yaş
28
5 HİZMET YILI
halen daha sonuca ulasamadım
 
Onaylı Üye
Katılım
13 Eyl 2020
Mesajlar
51
Tepki puanı
2
Yaş
27
5 HİZMET YILI
Just copy and paste in google and find solution.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Benzer Konular