1 like 0 dislike
10 views
in Bilgi Teknolojileri by
reshown by anonymous
Kullanıcı tarafından girilen sayının, hangi asal sayıların toplamı olduğunu (mümkün durum ise) gösteren c programlama dili ile  yazılmış örnek kod.

1 Answer

0 like 0 dislike
by anonymous Bilge (165k points)
#include<stdio.h>

#include<math.h>

int asalsayikontrolu(long int x);

main() {

    // Girilen sayı ve iki döngünün değişkenleri alt satırda tanımlanıyor.

    long int sayi, dongu1, dongu2;

    // Kurallara uyan sayıları tutan değişkenler

    int i, j, k;

    // Kaç adet ikilinin bu kurala uyduğunu sayıyoruz.

    int satirsayisi=0;

    printf("Test için bir sayı giriniz: ");

    // Kullanıcıdan bir sayı alıyoruz

    scanf("%ld", &sayi);

    if ((sayi % 2) == 1) {

        printf("\Girdiğiniz sayı bir çift sayı olmalıdır!\n");

    } else {

        printf("\Girdiğiniz sayı: %4ld",sayi);

        // Birinci döngü ilk sayı alınıyor ve ikinci döngüdeki tüm sayılarla işleme sokuluyor.

        // Asal sayı kontrolleri ve toplamın girilen sayıya eşit olup olmadığının kontrolü

        // yapılıyor. Eğer eşitse, print ile ekrana yazdırılıyor.

        for (dongu1 = 2; dongu1 < sayi; ++dongu1) {

            for (dongu2 = 2; dongu2 < sayi; ++dongu2) {

                j = asalsayikontrolu(dongu1), k = asalsayikontrolu(dongu2);

                if ((j == 0) && (k == 0) && (dongu1 + dongu2 == sayi) && (dongu1 <= dongu2)){

                    printf("\n%4ld +%4ld = %4ld", dongu1, dongu2, sayi);

                    ++satirsayisi;

                }               

            }

        }

        printf("\n Çift sayisi : %4ld ", satirsayisi);

    }

}

// Verilen bir sayının asal olup olmadığını kontrol ediyoruz

// Sayı asalsa geriye 0 döndürüyoruz.

int asalsayikontrolu(long int x) {

    long int i = 2;

    while (i < x) {

        if ((x % i) == 0)

            break;

        ++i;

    }

    if (i == x)

        return (0);

    else

        return (1);

}
En güncel teknolojiler hakkında yeni şeyler öğren, bilmediklerini sor, bildiklerini paylaş...

Categories

...