C programlama asal sayı tespitini geliştirme

Katılım
12 Aralık 2015
Mesajlar
7.042
Makaleler
9
Çözümler
12
Daha fazla  
Sistem Özellikleri
i7 10750H || GTX 1660 Ti 6 GB Mobile || 2x16 GB RAM || 512 GB NVMe M.2 SSD || 1080p 144 Hz IPS Panel || Windows 11-macOS Big Sur || Acer Nitro 5 AN515-55 2020 ||
Cinsiyet
Erkek
Meslek
Öğrenci
Yapmak istediğim şey 1'den n'e kadar kullanıcının girdiği bir sayıya kadar olan tüm asal sayıları yazdıran program yazmak. Şu an yapabildiğim ise sadece girilen sayıların asal olup olmadığını tespit edebiliyor. Bundan sonrasını bir türlü aklımda oturtamadım. Nasıl bir döngü ile bunu yapabilirim? Çok iç içe döngü olması mı gerekli bunu yapmak için?

C:
// 7. Write C code to print all Prime numbers between 1 to n.

#include <stdio.h>

int main () {
 
int n,x,k,y;    // 4 ve 7 ile deneme
 
printf("Bir sayi giriniz.\n");

scanf(" %d", &n);

// Sanırım bu kısımda bir döngü başlatılmalı ama yapamadım.

for ( x=2  ; x < n  ;  x++ )   {

    if ( n%x == 0  ) {
 
    k++;
    }
    }
 
 
if ( k >= 1) {
 printf(" %d asal sayidir.\n", n);
 printf(" %d",n);
}
 else {
     printf(" %d asal sayi degildir.", n);
 
 }
    return 0;
}
 
Son düzenleyen: Moderatör:
Asal sayıları iyice öğrenmeniz lazım bunun için.
Mesela bir sayı, kareköküne kadar olan asal sayıların hiçbirine tam bölünmüyorsa o sayı asal sayıdır.
Çift sayıları direkt atlayabilirsiniz mesela.

Hocam verilen ödevler bu şekilde daha çok yeniyim ama kopyala yapıştır kodlarla da yapmak istemiyorum yoksa birçok video ve site var. Sıralı bir şekilde sizce ne yapayım bu durumda? Asal sayılarla ilgili birçok uygulama ve soru hep var.
 
Asal sayı bulan programı yazabiliyorsan bunu da yazmak çok kolay. Tek farkı asal bulan kod bloğunu döngü içine alacaksın. İki değişken tanımla. Bir tanesine başlangıç değerini, diğerine bitiş değerini ata. Örneğin a = 1, b = 100 diyebilirsin. Döngü her döndüğünde a sayısının asal olup olmadığını kontrol edecek ve ekrana bastıracak. 100 olduğunda döngü bitecek.
 
Önce basit şekilde birkaç asal sayı bulup bir diziye (veri yapıları bilseydiniz bağlı liste) ekleyin.
Sonraki asal sayıları bahsettiğim şekilde bulup bu diziye ekleyin. Diziyi kareköküne kadar olan sayıları bulmak için kullanacaksınız. Yani 71'i bulmak için karekökünün üstündeki 9 sayısına kadar olan asal sayıları bu diziden çekip 71'i bölmeye çalışacaksınız. Bölünmezse 71'i de diziye ekleyip devam edeceksiniz.
 
Son düzenleme:

Technopat Haberler

Yeni konular

Geri
Yukarı