May 13, 2014

C & Java Dilinde Asalsayılar

1

Evet uzun bir süredir bloga yazmadığımın farkına varmıs bulunmaktayım bu sırada ikinci dönem basladı ve ilk vizelerim bitti hatta  C dili yerıne JAVA öğrenmeye başladık.Tabi ki ufak farklılıklar olsada önemli olan her zaman algoritma ve programlama mantığı yanı hemen hemen hepsı bır bırıne benzer fazla uzatmadan ilköğretim 4 .sınıftan beri gördüğümüz matematiğin vazgeçilmezi olan ASAL SAYILAR  a değinelim bugün :) Hem basit bir konu hemde programlama mantığı  C & JAVA arasındaki  farklılıkları görelim C dilinide unutmayalım :)

1 ile 10000 arasındaki asalsayıları ekrana yazdıran ve toplam kaç tane asal sayının olduğunu gösteren programı C & JAVA dilinde kodlarını yazalım.

Asal sayılar dendiğinde sadece 1 e ve kendisine bölünen  sayılar olarak tanımlanmakta  bunu programlama diline aktarırken nasıl bulucaz nasıl bır mantığı olacak algoritmadaki sayac programlama dilindeki döngü baya bir işimize yarayacak diye düşünüyorum :) Sonuçta 1 ve kendısıne bölünüyor 2 tane böleni var ise  bu iki böleni sayıp bir koşula baglarsak 2 böleni var ise asal sayi  bölen sayısı 2 den farklı ise asal değil  gibi bir mantık izleyeceğiz tabi ki asal sayıyı bulduk fakat 1 ile 10000 arasında kac tane asal sayının oldugunu bulmamız için bunları bir sayaç ile saymamız gerekiyor asalsayi adında bir sayac tanımlayıp bölen=2 koşulunda onuda bir artırarak bu işlemi yapmış olacağız  bu sefer kodları 2 dilde yazacağım C ve JAVA da iki dilin arasındaki farklılarıda görelim ama programlama mantığının aynı olduğunuda gösterelim istiyorum.

C DİLİNDE
/* Ahmet GÜREL
Süleyman Demirel University Yazılım Kulübü | Yönetim Kurulu Üyesi
Süleyman Demirel University| Computer Engineering
www.gurelahmet.com | www.twitter.com/ahmtgrll
ahmetgurel.yazilim@gmail.com */

#include<stdio.h>
#include<conio.h>
main(){

int bolen=0,asalsayi=0,i,j;

for( i=1;i<=10000;i++){
bolen=0;
for(j=1;j<=i;j++){
if(i%j==0)
bolen+=1;

}
if(bolen==2){
printf("Asalsayi: %d \n", i);
asalsayi+=1;
}
}

printf("1 ile 10000 arasinda %d asal sayi vardir \n", asalsayi);

getch();

}
JAVA DİLİNDE
/* Ahmet GÜREL
Süleyman Demirel University Yazılım Kulübü | Yönetim Kurulu Üyesi
Süleyman Demirel University| Computer Engineering
www.gurelahmet.com | www.twitter.com/ahmtgrll
ahmetgurel.yazilim@gmail.com */

public class asalsayi {

public static void main(String[] args) {

int bolen=0,asalsayi=0,i,j;

for( i=1;i<=10000;i++){
bolen=0;
for(j=1;j<=i;j++){
if(i%j==0)
bolen+=1;

}
if(bolen==2)
{
System.out.println("Asalsayi:" +i);
asalsayi+=1;
}
}

System.out.println("1 ile 10000 arasında " +asalsayi+ " asal sayi vardır");

}