Java'da 1'den 100'e Kadar Asal Sayılar: Java'da 1'den 100'e kadar göster

Yayınlanan: 2021-02-08

İçindekiler

Tanıtım

Öncelikle asal sayı tanımıyla başlayalım. Sadece 1'e ve kendisine bölünebilen sayılara asal sayı denir. 1'den 100'e kadar olan asal sayıları söylememiz istenseydi, her bir sayıyı kağıt üzerinde kontrol etmek ve asal sayı olup olmadığını söylemek sıkıcı bir iş olurdu. Boş ver, bunu yapmak için bir kod yazabiliriz ve java işleri kolaylaştırır.

Java popüler bir dildir ve en çok kullanılan dillerden biridir ve güneşli gün gündeminin nedeni nesne yönelimli programlama, platform bağımsızlığı, önceden tanımlanmış kitaplıklar vb. gibi özellikler sağlamasıdır.

1'den 100'e kadar olan asal sayıları yazdırmak için bir kod oluşturalım ve üzerinden geçelim. Hadi başlayalım!

Java Programı

Koda geçmeden önce, bir sayının asal sayı olup olmadığını kontrol eden algoritmayı anlayacağız. İlk başta, 1'den N'ye kadar olan tüm sayıları döngüye almamız ve verilen sayıyı uygun şekilde bölen bir sayı sayısını tutmamız gerekir. Sayı 2 ise, verilen sayının asal olduğu sonucuna varabiliriz, aksi takdirde asal değildir. İşte bunu yapmak için kod.

int n = 5 ;
int c = 0 ;
for ( int i= 1 ;i<=n;i++)
if (n%i== 0 )
c++;
eğer (c== 2 )
System.out.println(n+ ” bir asal sayıdır” );
Başka
System.out.println(n+ ” asal sayı değildir” );

Yukarıdaki parçada n, asal sayı olup olmadığı kontrol edilecek sayıdır, c ise uygun bölenlerin sayısını saklayan bir değişkendir. Ve 1'den n'ye kadar olan aralıkta dönüyoruz ve uygun bir bölen bulursak sayıyı artırıyoruz.

Ve döngüden çıktıktan sonra sayının 2 olup olmadığını kontrol ediyoruz yani; sadece iki uygun bölen vardır (1 ve kendisi). Evet ise, asal sayı olarak sonuçlandırıyor, yoksa asal olmayan bir sayı. Yukarıdaki kodun zaman karmaşıklığı hakkında konuşmak, doğrusal bir koddur, yani O(n) karmaşıklık kodudur.

Şimdi 1'den 100'e kadar olan asal sayıları yazdırmamız istendiğine göre, 1'den 100'e kadar olan her sayı için aynı algoritmayı çalıştırmamız ve asal sayıyı kaydetmemiz gerekiyor. Ve işte bunu yapmak için kod.

ArrayList<Integer> a= new ArrayList<>();
for ( int n= 1 ; n<= 100 ; n++){
int c = 0 ;
for ( int i = 1 ; ben <= n; i++)
if (n % i == 0 )
c++;
eğer (c == 2 )
a.add(n);
Başka
devam et ;
}
System.out.println(a);

Yukarıdaki kodda, 1 ile 100 arasındaki tüm asal sayıları saklayan bir ArrayList tanımladık. Şimdi iki adet for döngüsüne sahibiz. önceki asal sayı algoritmamızdır. Her sayı için asal sayı algoritmasını çalıştırdıktan sonra, eğer bir asal sayı ise onu ArrayList'e gönderiyoruz.

Kontrol edin: Hindistan'da Java Geliştirici Maaşı

Ve döngüleri tamamladıktan sonra, 1 ile 100 arasındaki tüm asal sayıları gösteren ArrayList'imizi yazdırıyoruz. Yukarıdaki kodun zaman karmaşıklığından bahsedersek, iki tane for döngüsü olduğunu görebiliriz. Yani bir O(n ²) karmaşıklık kodudur.

Aralığı yukarıdaki kodda sabit kodladık, kullanıcı girişi tarafından verilen aralıktaki asal sayıları yazdırmak istersek ne olur?

Verilen Giriş Aralığındaki Asal Sayılar

Tüm algoritma, yukarıdaki koda neredeyse benzer olacaktır, yaptığımız tek fark, aralığın alt limiti ve üst limiti için kullanıcı girdisi almaktır.

Şimdi kodu oluşturalım!

Tarayıcı sc=new Tarayıcı(System.in);
int alt=sc.nextInt();
int üst=sc.nextInt();
ArrayList<Integer> a=new ArrayList<>();
for(int n=alt; n<=üst; n++){
int c = 0;
for (int i = 1; i <= n; i++)
eğer (n % ben == 0)
c++;
eğer (c == 2)
a.add(n);
Başka
devam et;
}
System.out.println(a);

Yukarıdaki kodda, kullanıcı girdisini okumak için bir tarayıcı başlatıyoruz. Alt ve üst olmak üzere iki değişken tanımladık ve bu değişkenleri kullanıcı girişi ile atadık. Yapmamız gereken, [alt, üst] aralığı arasındaki tüm asal sayıları yazdırmak. Önceki algoritmamız bu görevi yapar ve tüm asal sayıları ArrayList'e ekler.

Ayrıca Okuyun: Java Projesi Fikirleri ve Konuları

Dünyanın En İyi Üniversitelerinden Online Yazılım Geliştirme Kursları öğrenin . Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.

Çözüm

Asal sayıların tanımını anladık, bir sayının asal olup olmadığını bulmak için bir algoritmadan geçtik, bu algoritmayı 1'den 100'e kadar olan asal sayıları bulmak için genişlettik. Daha sonra, kullanıcı girdisini okumak için bir java tarayıcı kullandık. Asal olup olmadıkları kontrol edilecek sayıların aralığını değiştirerek, kullanıcı tarafından verilen bir aralıkta asal sayıları yazdırmak için bir algoritma oluşturdu.

Artık bir sayının asal olup olmadığını nasıl kontrol edeceğinizi, belirli bir aralıkta asal sayıları nasıl yazdıracağınızı bildiğinize göre. İşlevler kullanarak uygulama, nesneler kullanarak uygulama, özyineleme kullanarak algoritma oluşturma, Java'da birkaç başka koleksiyon kullanmayı deneyin, mümkünse kodu biraz optimize etmeye çalışın, vb. gibi birkaç zorluk uygulamayı deneyin. Çünkü pratik, bir programlama dilinde uzmanlaşmanıza yardımcı olur. , sözdizimleri ve uygulama ile belirsizliğin üstesinden gelmenize yardımcı olur.

Java becerilerinizi geliştirmek istiyorsanız, bu java projelerine el atmanız gerekir. Java, full-stack geliştirme hakkında daha fazla bilgi edinmek istiyorsanız, upGrad & IIIT-B'nin çalışan profesyoneller için tasarlanmış ve 500+ saatlik zorlu eğitim, 9+ proje sunan Full-stack Yazılım Geliştirmede Yönetici PG Programına göz atın , ve ödevler, IIIT-B Mezun statüsü, pratik uygulamalı bitirme projeleri ve en iyi firmalarla iş yardımı.

Asal sayılar nelerdir?

Eratosthenes elekleri nedir?

Eratosthenes Kalburu, asal sayıları bulmak için eski bir Yunan algoritmasıdır. Algoritma, zamanına göre oldukça hızlı olması ve yine de asal sayıları çok iyi vermesi anlamında basitliği ve verimliliği ile bilinir. Algoritma, 2'nin katlarından başlayıp N'nin katlarıyla biten bileşik sayılardan her bir asalın tüm katlarını çıkararak çalışır (N, asallarını bulmak istediğiniz son sayıdır). Eratosthenes bir Yunan matematikçiydi ve Mısır'daki İskenderiye kütüphanesinin kurucusu olarak kabul edildi. Dünyanın çevresini ve çapını hesaplamasıyla tanınır.

Veri yapıları ve algoritmalar nelerdir?

Veri yapısı, bir bilgisayar programının verileri alıp değiştirebilmesi için verileri depolamanın bir yoludur. Veri yapısı, bir programlama dili soyutlamasıdır. Kendi içinde bir varlık veya başka bir veri varlığının parçası olabilir. Kendi başına veri olabilir veya diğer verilere erişmek ve bunları işlemek için bir mekanizma olabilir. Bir veri yapısı, veri tanımı, veri türü, içerik ve içeriğe uygulanabilecek işlemlerden oluşur. Algoritmalar, bir bilgisayar problemini çözmek için adım adım prosedürlerdir. Her algoritma, soruna bir çözüme götürecek bir eylemler dizisidir.