Matura z informatyki - rozwiązania zadań  

Algorytmy

Badanie czy liczba jest pierwszą

#include <iostream>
#include <cstdlib>
using namespace std;

bool czy_pierwsza(int n)
{
    if (n == 2)
        return true; // gdy liczba jest rowna 2
    if ((n < 2) || !(n % 2))
        return false; //gdy liczba jest mniejsza niż 2 lub jest parzysta
    //(rozna od 2) to nie jest pierwszą

    for (int i = 2; i * i <= n; i++)
        if (n % i == 0)
            return false; //gdy znajdziemy dzielnik, to dana liczba nie jest pierwsza
    return true; // wszystkie pozostale sa pierwszymi
}

int main()
{
    int n;

    cout << "Podaj liczbe: ";
    cin >> n;

    if (czy_pierwsza(n))
        cout << "Liczba " << n << " jest pierwsza" << endl;
    else
        cout << "Liczba " << n << " nie jest pierwsza" << endl;

    system("pause");
    return 0;
}
© 2017 MaturaInformatyka.pl || Kontakt: admin(malpa)maturainformatyka.pl

Search