folder Tahribat.com Forumları
linefolder C - C++
linefolder C++ (Asal Sayı)



C++ (Asal Sayı)

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ExcellencE
    ExcellencE's avatar
    Kayıt Tarihi: 27/Nisan/2007
    Erkek

    Hacılar bu işte çok yeniyim arkadaşın biri de yardım istedi benden yardımcı olmak istiyorum..

    Ekranda girilen sayıya kadar olan asal sayıları yazacak bi program lazımmış..

    Hiç bişi bilmediğimden yardım edemedim...

    Şimdiden ilginiz için sağolun... 


    Yapay zeka, zeka değildir.
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ~$
    ComputerWolf
    ComputerWolf's avatar
    Üstün Hizmet Madalyası
    Kayıt Tarihi: 26/Mart/2003
    Erkek

    #include <stdio.h>

         int main()
    {
         int a, b, c = 0;

            printf (" Bir sayi giriniz: ");
            scanf  ("%d", &a);
                 printf ("\n");
                 for (b = 2; b < a; b ++)
                 {
              // Kullanıcıdan alınan sayı 2'den başlanarak, kendisine kadar
              // olan tüm tamsayılara sırayla bölünüyor. Eğer tam olarak
              // bölünüyorsa c'nin değeri bir artırılıyor.
                   if (a % b == 0) c ++;
            }
        
            // c'nin başlangıç değeri 0 idi. Eğer a'nın tek bir tane bile tam
            // böleni olsaydı, c'nin değeri 0 kalmazdı. c'nin değerinin 0
                 // kalması, kullanıcının girdiği sayının 2'den itibaren hiçbir
            // tamsayıya tam olarak bölünemediği anlamını taşır. Yani girilen
            // sayı asaldır.
                 printf (" %s\n", (c == 0) ? "Sayi asaldir." : "Sayi asal degildir.");
                 return 0;
    }

    -----------------

    mydesign isimli sitede yavuz nickli bir eleman yazmis kodlari.Oldukcada aciklayici.Isinize yarar.

    Cozumu herzaman icin su sekilde kurun.Sizden istenen ne? Asal sayi.Asal sayinin matematiksel anlami nedir? Bu anlami iyi ogrenirseniz cozum uretebilmeniz daha kolay olur.Once kafanizda teorik olarak olayi kavramak gerekir.


    Hep denedin. Hep yenildin. Olsun yine dene , yine yenil ama daha iyi yenil !
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Musket
    Musket's avatar
    Üstün Hizmet Madalyası
    Kayıt Tarihi: 09/Haziran/2002
    Erkek

    Piyasada çok gezen bir asal sayı algoritması var

    Ama onu kullanırsa işi yaş.

    O yüzden ister istemez tek tek sayan bir mantık kullancak...

     public static void main(String[] args)
      {
      System.out.println("");
      boolean prime = true;
      for(int numb = 2; numb <=2000; numb++)
      {
      prime = true;
       
      for(int check = 2; check < numb; check++)
      {
      if((numb % check == 0) & prime)
      {
      prime = false;
      break;
      }
      }
      //prime = false
      if(prime)
      {
      System.out.print(numb + " ");
      }
      }

      }

    Ben bunu java ödevi olarak yapmıştım.

    System.out.print leri 'cout' ile değiştirirsen sorunların çözülür. 

    (Bir de limit olarak girilen sayı olayına girmen lazım) 

     

     

    Edit: Vay anasını herkes mi yazmış lan bu kodu daha önce :| 

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    nickneyime
    nickneyime's avatar
    Kayıt Tarihi: 16/Temmuz/2003
    Erkek
    #include<stdio.h>
    #include<conio.h>
    // Verilen sayinin asal olup olmadigina
    // bakar. Sayi asalsa, geriye 1 aksi hâlde
    // 0 degeri doner.
    int sayi_asal_mi( int sayi )
    {
        int i;
        for( i = 2; i <= sayi/2; i++ ) {
        // Sayi asal degilse, i'ye tam olarak
        // bolunur.
            if( sayi%i == 0 ) return 0;
        }
        // Verilen sayi simdiye kadar hicbir
        // sayiya bolunmediyse, asaldir ve
        // geriye 1 doner.
        return 1;
    }

    // main fonksiyonu
    int main( void )
    {
        int girilen_sayi;
        int test_sonucu;
        do{
            printf( "Lütfen bir sayı giriniz> " );
            scanf( "%d",&girilen_sayi );
            test_sonucu = sayi_asal_mi( girilen_sayi );
            if( !test_sonucu )
                printf("Girilen sayı asal değildir!\n");
        } while( !test_sonucu );
        printf( "Girilen sayı asaldır!\n" );
        system(pause);    
        return 0;
    }

    bunch of idiots around me, yes everywhere.
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ExcellencE
    ExcellencE's avatar
    Kayıt Tarihi: 27/Nisan/2007
    Erkek
    Çok sağolun hocalar.Eminim iş görecektir bunlar.

    Yapay zeka, zeka değildir.
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wert
    wert's avatar
    Kayıt Tarihi: 19/Eylül/2005
    Erkek

    #include
    main()
    {
    int a,b,c;


    for(b=2;b<=1000;b++)
     {
      c=1;
      for(a=2;a<=b/2;a++)
      {
      if(b%a==0)
      {
      c=0;
      break;
      }

      }
      if(c==1)
      {
      printf("%d\n",b);
      }

     }

    }

    ben yazmıştım son baktığımda çalışıyordu :D

    2 dinde 1000 e kadar verio :D 

    ilk for döngüzünden 1000 yazan yeri değiştir yeter yada fordan önce bir scanf kullansan olur 


    |sadece aptalların başarısı ders notu ile ölçülür|
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    NmC
    NmC's avatar
    Kayıt Tarihi: 23/Kasım/2008
    Erkek

    Abi herkes üst limiti sayının yarısı yapmış..

    Sayının karekökü yapsak olmuyo mu?


    There are 10 types of people in the world. Those who knows binary and those who dont...
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wert
    wert's avatar
    Kayıt Tarihi: 19/Eylül/2005
    Erkek

    asal yanı bir kendine birde başka 1 ile tam bölne bilen sayı ise

    burada bie sayıyı tam olarak böle bilecek en büyük tam sayı nedir

    onun yarıdır değilmi ;) 


    |sadece aptalların başarısı ders notu ile ölçülür|
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    NmC
    NmC's avatar
    Kayıt Tarihi: 23/Kasım/2008
    Erkek

    wert bunu yazdı:
    -----------------------------

    asal yanı bir kendine birde başka 1 ile tam bölne bilen sayı ise

    burada bie sayıyı tam olarak böle bilecek en büyük tam sayı nedir

    onun yarıdır değilmi ;) 


    -----------------------------

     

    Yarısı mıdır acaba?

    36 için düşünelim...

    (1,36)

    (2,18)

    (3,12)

    (4,9)

    (6,6)

    (9,4)

    (12,3)

    (18,2)

    (36,1)

     

    6*6 dan sonrası diğer çarpanların simetriği oluyo...

    Sanırım bütün sayılar için geçerli bu.. Bilmem yanlış mıyım?


    There are 10 types of people in the world. Those who knows binary and those who dont...
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    NmC
    NmC's avatar
    Kayıt Tarihi: 23/Kasım/2008
    Erkek

    Ufak bi araştırma sonucu buldum tezimi destekleyen bi kod =)

     

    # include <cmath>          // This library enable the use of sqrt.
    # include <iostream>
    using namespace std;

    void primenum(long double); // Prototype...
    int c = 0;

    int main()
    {
    long double x = 0;
    cout<<"\n This program will generate all prime numbers up to the"
    <<"\n number you have entered below...\n";
    cout<<"\n Please enter a number: ";
    cin>> x;

    cout<<"\n Here are all the prime numbers up to "<<x<<".\n";
    primenum(x); //function invocation...
    cout<<endl<<"\nThere are "<<c
    <<" prime numbers less than or equal to "<<x<<".\n\n";

    return 0;
    }

    // This function will determine the primenumbers up to num.
    void primenum(long double x)
    {
    bool prime = true; // Calculates the square-root of 'x'
    int number2;
    number2 =(int) floor (sqrt (x));

    for (int i = 1; i <= x; i++){
    for ( int j = 2; j <= number2; j++){
    if ( i!=j && i % j == 0 ){
    prime = false;
    break;
    }
    }
    if (prime){
    cout <<" "<<i<<" ";
    c += 1;
    }
    prime = true;
    }
    }

     

     

    ha ayrıca büyük sayılarda diğer scriptlerden çok daha verimli çalışır bu...

     

    113 için diğer script 56 bölme yapacakken bu sadece 11 bölme yapar ;)


    There are 10 types of people in the world. Those who knows binary and those who dont...
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wert
    wert's avatar
    Kayıt Tarihi: 19/Eylül/2005
    Erkek
    ZoktriP bunu yazdı:
    -----------------------------

    wert bunu yazdı:
    -----------------------------

    asal yanı bir kendine birde başka 1 ile tam bölne bilen sayı ise

    burada bie sayıyı tam olarak böle bilecek en büyük tam sayı nedir

    onun yarıdır değilmi ;) 


    -----------------------------

     

    Yarısı mıdır acaba?

    36 için düşünelim...

    (1,36)

    (2,18)

    (3,12)

    (4,9)

    (6,6)

    (9,4)

    (12,3)

    (18,2)

    (36,1)

     

    6*6 dan sonrası diğer çarpanların simetriği oluyo...

    Sanırım bütün sayılar için geçerli bu.. Bilmem yanlış mıyım?


    -----------------------------

    iyi sen bana 36 yı tam olarak bölen en büyük sayıyı söylermisin

    36 yı 2 ye bölmek farlı 18 ze bölmek farklı ben burada o sayıların içerisinde en büyük çarpan hangisi onu söylermisin bana 

     


    |sadece aptalların başarısı ders notu ile ölçülür|
Toplam Hit: 4814 Toplam Mesaj: 16