• 23-08-2018, 12:14:26
    #1
    Üyeliği durduruldu
    Arkadaşlar 1 ile 100 arasındaki asal sayıları bulan kodu yazdım ancak 2'yi asal olarak görmüyor. Sizce koddaki hata nedir.?

    for i in range(1,11):
    for j in range(2, i):
    if(i%j)==0:
    break
    elif (i%j !=0) and (j==i-1):

    print(i)
  • 23-08-2018, 12:27:12
    #2
    Hocam c'de yazdım programı 1'den 100 e kadar olan asıl sayıları listeliyor

    int main() {
    int i,j;
    int sayac=0;
    for(i=0;i<100;i++)
    {
    for(j=i;j>1;j--)
    {
    if(i%j==0)
    {
    sayac=sayac+1;
    }
    }
    if(sayac==1)
    {
    printf("%d\n",i);
    }
    sayac=0;
    }
    return 0;
    }
  • 24-08-2018, 15:59:38
    #3
    Üyeliği durduruldu
    Olmuyor hocam yapamadım
  • 25-08-2018, 11:58:31
    #4
    def asal(n):
        #1 asal değil sanırım. İstisna kabul edelim ve hemen asal değil (False) döndürelim
        if n == 1:
            return False
        
        #asal olan tek çift sayı 2. 2 sayısını bir istisna kabul edelim ve hemen asal (True) döndürelim
        if n == 2: 
            return True
    
        #1 ve 2'den kurtulduk artık işimize bakabiliriz.
        for i in range(2, n):        
            if (n % i) == 0: #bu koşul doğru olduğunda en az bir böleni var - asal değil
                return False
        return True #hiç böleni yok
    
    
    sayi = int(input('Bir veya daha büyük bir tam sayı girin: '))
    
    for i in range(1, sayi + 1):
        if asal(i):
            print(i)