Java Dersleri #35 - For Örnekleri : Asal Sayılar

preview_player
Показать описание
Kodlama Vakti Kanalına Hoşgeldiniz !

Kodlama Vakti ekibi olarak , programlamanın herkes tarafından öğrenilebilir olduğunu takipçilerimize benimsetmek olup , kanalımızda ki eğitimler özenle hazırlanmaktadır ve tamamen ücretsizdir! Vakit Kodlama Vaktidir !

Eğitimlerimizin size yararlı olduğunu düşünüyor ve beğeniyorsanız videoyu beğenmeyi , kanalımıza abone olmayı unutmayın.
Рекомендации по теме
Комментарии
Автор

Bir süredir java öğrenmeye çalışıyordum en büyük sıkıntım konunun mantığını kavratacak bol örnekli bir eğitim olmaması ve sizi daha yeni keşfettim. Bu konuda youtube hatta udemyden bile bir çok eğitim serilerden çok daha kaliteli bir eğitim serisi olmuş. Emeğiniz için çok teşekkür ederim, bu kursun ileride gerçekten iyi bir noktaya geleceğinden hiç şüphem yok.

mehmetarc
Автор

Emeğiniz ve youtube gibi bir yerde ücretsiz paylaştığınız için teşekkür ederim.

hamzaeren
Автор

Güzel bir örnek olmuş. Asal sayıların pozitif tam bölen sayıları 2 olan pozitif sayılar olduğunu düşünürsek(Bu sebeple 1 asal değil) ben şöyle bir kodla bu örneği yaptım:
import java.util.Scanner;

public class forPratik {
private static Scanner input = new Scanner(System.in);

public static void main(String[] args) {
//bir sayının asal olup olmadığını bulan program
int sayi, ptbs=0 ;
//ptbs=Pozitif tam bölen sayısı
System.out.print("Asal olup olmadığını öğrenmek istediğiniz sayı : ");
sayi=input.nextInt();
//Asal sayı nedir? Asal sayı, pozitif tam bölen sayısı 2 olan pozitif sayıdır.
for (int i=1; i<=sayi; i++) {
if ((sayi%i)==0) {
ptbs++;
}
}
if (ptbs==2 && sayi>0) {
"+sayi+" sayısı asal sayıdır.");
} else {
"+sayi+" sayısı asal sayı değildir.");
}


}

}

Emirayas
Автор

hocam gerçekten çok çok anlaşılır ve net anlatmışsınız

duygudag
Автор

Ben de şu şekilde yaptım kod çalıştı ama sizin yöntem daha mantıklı. Eğer bir kere bile bölünme gerçekleşiyorsa döngüyü bitirmek işlemciyi daha az yorar.

int sayac=0;
int sayi;
Scanner girdi=new Scanner(System.in);

do {
System.out.print("Sayıyı giriniz: ");
sayi = girdi.nextInt();
}while(sayi<2);


for(int x=2; x<=sayi;x++) {

if(sayi%x==0) {
sayac++;
}

}

if(sayac>1) {
System.out.println("Sayı Asal Değildir.");

}
else {
System.out.println("Sayı Asaldır.");
}

erhanxk
Автор

merhaba, burada 1 girince "asal sayı değildir" demiyor da "pozitif sayı girin" diyor 1 zaten pozitif bir sayı nasıl düzeltebilirim

esrakeskin
Автор

Eğer hocamızın yaptığı şekilde yaparsak bazı sayılarda hata oluşuyor mesela 9 gibi sayıları da asal alıyor, bunun nedeni asal sayıları bulmak için 2 ye tam bölünememe koşulu yeterli değil, 9 da 2 ye tam bölünemez fakat asal bir sayı değildir. Asal olabilmesi için kendinden ve 1 den başka sayıya bölünmeme koşulu gerekiyor.
ben şu şekilde yaptım oldu (gereksiz yerler olabilir)
int sayi;
int i=3;
Scanner scan = new Scanner(System.in);
do {System.out.println(" Lütfen 2 'den büyük bir tam sayı giriniz.");
sayi = scan.nextInt();
}while (sayi<2);
while (sayi >= i){
if (sayi % i != 0)
{ i++;
if (i==sayi)
{if (sayi % 2 !=0) break; } else {System.out.println("Asal değildir..."); break;} } }

else if (sayi ==3 ) {System.out.println( "Asaldır..."); break;}
else if (sayi % i == 0) {System.out.println( "Asal değildir..."); break;}

eminkenter
Автор

hocam ciddi istifade ettim Teşekkürler bende while ve if kullanarak yapmaya çalıştım ..başkalarına faydalı olur diye paylaşmak istedim..
public static void main(String[] args) {
// Asal Sayılar
System.out.println("2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89 ve 97");
System.out.println("Asal Sayıları Giriniz :");
Scanner scan=new Scanner(System.in);

while(true) {

int asal =scan.nextInt();
if(asal==2 ||asal==3 ||asal==5 ||asal==7) {


}else if(asal%2==0 || asal%3==0 || asal%5==0 ||asal%7==0) {
Sayı asal değildir");
}else {
Sayı ASALDIR...");
}if(asal==00) {
Çıkış
break;
}

}
}

msenel
Автор

Kendi Algoritmamla oluşturmuş olduğum bir program
eksiklikler, fazlalıklar olmuş olabilir öğrenme aşamasındayım :)
Teşekkürler Hocam...




Scanner input = new Scanner(System.in);

System.out.print("Kontrol Etmek istediğiniz sayıyı giriniz : ");
int sayi1=input.nextInt();

if(sayi1>1) {
for(int i=2 ; i<100 ; i++ ) {

if((sayi1 % i == 0) && (sayi1 != i)) {
System.out.println(sayi1 + ", Asal Sayı değildir");
break;
}
if((sayi1 % i == 0) && (sayi1 == i)) {
for(int a = 2 ; a<100 ;) {
if((sayi1 % a == 0) && (sayi1 != a)) {
System.out.println(sayi1 + ", Asal Sayı Değildir");
break;
}
else {
System.out.println(sayi1 + ", Asal Sayıdır");
break;
}
}
}


}




}











}}

merdanbayrktr
Автор

hocam bana yardimci olurmusunuz benim bu orneklerle cok beynim yaniyor ne oneriyirsuzuz?

nicatxelilov
Автор

Hocam bu uzaktan eğitimde programlama derslerime ek olarak sizi dinliyorum, şimdiye kadar da örneklerinizle pekiştirdiğim için anlatımınızı ve uygulamalarınızı seviyorum .Ama sanki bu örnek biraz karışık oldu hocam sanırım.
While ın içine neden <2 yazdığımızıda anlamadım başta true tanımlayıp if in içine gelince false olarak aldığımızı da :(

cansuuzum
Автор

Sadece for kullanarak yaptım kod çalışıyor. Fakat eksikleri vardır muhtemelen.




Scanner scan = new Scanner(System.in);
System.out.println("Bir pozitif tam sayı giriniz :");
int input;
boolean asal = true;
input = scan.nextInt();

for (int i = 2 ; i <input ; i++) {

if (input % i == 0) {
asal = false;
break;
}
}
if (asal) {
System.out.println(input + " asal sayıdır.");
}else {
System.out.println(input + " asal değildir.");
}

hamzaeren
Автор

Hocam sizin yazdığınız koda göre 21 i de asal kabul ediyor matematiksel olarak yanış değil mi

yigitt_
Автор

Hocam başta asalı true yaptık sonra if'in içinde eğer koşulumuzu bozarsa false'a çevir dedik. Yani true olan asal false oldu. Sonra bir if daha yazdık ve if(asal) için asaldır çıktısını istedik. Lakin asal en son false olmuştu for döngüsü içerisinde sonradan nasıl true'ya dönüşüyor yardımcı olur musunuz ?

ahmetsargn
Автор

Hocam basit yapmaya çalışmışsınız.
if(n/2 || n/3 || n/5 || n/7) "bu sayı asal değildir.else(n/1 || n/n) "bu sayı bir asaldır" olsa daha doğru olur çünkü sizin verdiğiniz örnekte örneğin 15 de bir asal sayı der fakat değildir

mertcankarabacak
Автор

ben de çok oturtamadım mantığı ama çok takılmayacağım. örnekleri kendim tekrar ezbere de olsa yapıyorum ve ileride umarım mantık, algoritma vs kafamda oluşur. nasıl yapılacağını biliyorum ama koda dökemiyorum. zaten mesele de bu değil mi? :(

davidlopes
Автор

int sayi;
Scanner scan = new Scanner(System.in);
System.out.println("Bir sayı girin : ");
sayi = scan.nextInt();

for (int i = 2; i<sayi;i++){
if (sayi%i == 0){
System.out.println("Sayı asal değildir.");
break;
}else {
System.out.println("Sayı asaldır.");
break;
}
}

sir_fidan
Автор

merhaba hocam,
ben biraz karısık yaptım sanırım bu kod temiz mi sizce? bir de bu şekilde yazınca for döngüsünde i++ yı kaldırmam gerektiğini söylüyor ide ama çalışıyor program. nedendir?

import java.util.Scanner;

public class ForAsalSayi {

public static void main(String[] args) {
// asal sayı bulma: girilen deger asal mı değil mi?
// asal olması icin condition: 1 e ve kendisinden baska sayıya bölünmeyen sayılar

Scanner scan = new Scanner(System.in);
System.out.println("Bir sayı giriniz: ");
int sayi = scan.nextInt();

while(sayi > 2) {
for(int i = 2; i < sayi ; i++) {
if(sayi % i == 0) {
asal değildir.");

}
System.out.println("Sayı asaldır. ");
break;
}
break;
}
}
}

eğitim seriniz ve cevabınız için teşekkür ederim şimdiden çok faydalı umarım sizin gibi yöneticilere denk gelebilirim. Allah razı olsun. iyi günler dilerim.

besteguzel-jgjn
Автор

Ben nerede hata yaptığımı anlayamadım sadece 2 nin katı olanlara asal değil diyor onun dışındakilere asal diyor

import java.util.Scanner;

public class ForExamplesPrimeNumbers {

public static void main(String[] args) {
// Finding Prime Numbers

Scanner scan = new Scanner(System.in);

int input;
do {
System.out.print("Please enter a positive number : ");
input = scan.nextInt();
}while(input < 2);

for(int i=2; i < input; i++) {
if(input%i!=0) {
System.out.print("The number is prime number.");
break;
}else if(input%i==0) {
System.out.print("The number is not a prime number.");
break;
}
}


}

}

senasimsek
Автор

şu şekilde yaptım. ama 4 girince ekranda bu sayı asal değil yazısı yazılmıyor orası boş kalıyor;


int sayi;
boolean asal=true;
do {
System.out.println("sayı gir");
sayi=scan.nextInt();

} while (sayi<2);

for (int i = 2; i < sayi; i++) {

if (sayi%i==0) {
asal=false;
break;
}

if (asal) {
sayı: "+sayi+" "+"asaldır");
}

else {
asal değil");
}

ortayakarsk