C# Asal sayı ödevim

Bu konuyu okuyanlar

Millfield

Öğrenci
Katılım
6 Temmuz 2019
Mesajlar
5
Reaksiyon puanı
1
Puanları
3
Yaş
22
Ödevimde Kendisinden bir önceki ve bir sonraki sayıların her ikisi asal olan sayıları yazdıran programı yapmam istendi. Fakat ben asal sayıları getirdikten sonra aradaki sayıyı getiremiyorum ne yaptıysam olmadı. Yardım edebilecek var mı?

Benim yazdığım kod aşağıda buna ne eklemem gerekiyor acaba?

for (int i = 1; i <= 100; i++)
{
for (int k = 2; k < i; k++)
{
if (i % k == 0)
{
break;
}
if (i == k + 1)
{
Console.WriteLine(i + " ");
break;
}

}
}
Console.ReadKey();
 

High Noon

Asistan
Katılım
12 Haziran 2017
Mesajlar
353
Reaksiyon puanı
80
Puanları
28
Yaş
37
Gördüğüm kadarıyla 1'den 100'e kadar olan sayılarda yapıyorsun bu kıyaslamayı. Şöyle bir şey kullanabilirsin, değişken isimleri zaten neyin ne olduğunu gösteriyor. std::cout c++'a ait bir fonksiyondur, kendin onu c#'a göre değiştirebilirsin.


for (int sayi = 3; sayi < 100; sayi++) { // en küçük asal sayı 2 olduğundan, (sayi - 1) minimum 2 olmalıdır. Bundan ötürü, sayı minimum 3 ile başlayacaktır.

bool atla = false;
int onceki_sayi = sayi - 1;
int sonraki_sayi = sayi + 1;

for (int bolen = 2; bolen < onceki_sayi; bolen++) {
if (onceki_sayi % bolen == 0.0F) {
atla = true;
break;
}
}

for (int bolen = 2; bolen < sonraki_sayi; bolen++) {
if (sonraki_sayi % bolen == 0.0F) {
atla = true;
break;
}
}

if (!atla) {
std::cout <<
"Sayi: " << sayi <<
" Onceki asal sayi: " << onceki_sayi <<
" Sonraki asal sayi: " << sonraki_sayi << "\n";
}
}
 
Üst