C++ ile Şartlı Asal Sayı Bulma

Kullanıcının girdiği bir sayıdan itibaren (sayı dahil) kendisi ve rakamları toplamı asal olan ilk üç sayıyı bulup ekrana yazan C/C++ programını yazacağız.

Kullanıcının girdiği bir sayıdan itibaren (sayı dahil) kendisi ve rakamları toplamı asal olan ilk üç sayıyı bulup ekrana yazan C/C++ programını yazacağız.

Kullanıcının girdiği bir sayıdan itibaren (sayı dahil) kendisi ve rakamları toplamı asal olan ilk üç sayıyı bulup ekrana yazan C/C++ programını yazacağız.

Programda 2 fonksiyon oluşturacağız, ilk fonksiyon girilen sayının asal olup olmadığını bulacak, diğer fonksiyon ise bu asal sayının rakamlarını toplatıp, ilk fonksiyona gönderecek ve rakamlarının toplamının da asal sayı olup olmadığını buldurup ana class'ımıza geri döndürecek.

Bu kurala uyan ilk üç sayıyı kullanıcıya listeleteceğiz.



#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>

#include <stdlib.h>



int main()

{

    int asalmi(int);

    int rakambul(int);

    int sayac=0;

    int girilen;

    printf("Bir sayi giriniz:\n"); 

    scanf("%d",&girilen);

    DEVAM:

    if(asalmi(girilen)==1 && rakambul(girilen) == 1 )

    {

        if(sayac == 3)

            {

                printf("3 sayi listelendi.\n");

                system("pause");

            }

            else

            {    

                printf("%d sayisi asaldir.\n",girilen);

                girilen++;

                sayac++;

                goto DEVAM;

            }

    }

    else

    {

        girilen++;

        goto DEVAM;

    }

        return 0;

}



int asalmi(int sayi)

{

    int sayac = 0;



    for(int j=1; j<=sayi; j++)

     {

      if(sayi % j == 0)

         {

          sayac++;

         }

     }



    if(sayac == 2)

     {

      return 1; // asaldir

     }

    else

    {

     return 0;

    }

}



int rakambul(int sayi_)

{

    int degertoplam=0, a;

    while(sayi_)

    {

        a=sayi_%10;

        sayi_=sayi_ /10;

        degertoplam += a;

    }

    if(asalmi(degertoplam) == 1) 

        {

            return 1;

        }

        else

        {

        return 0;

        }

}



Örnek bir ekran çıktısı aşağıda verilmiştir:
  • Etiketler;
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

Yukarı Git