Zapraszam do doskonalenia swoich koderskich umiejętności.
Nie jesteś zalogowany na forum.
Strony: 1
Sprawdź, które spośród danych liczb są liczbami pierwszymi
Wejście
n - liczba testów n<100000, w kolejnych liniach n liczb z przedziału [1..10000]
Wyjście
Dla każdej liczby słowo TAK, jeśli liczba ta jest pierwsza, słowo: NIE, w przeciwnym wypadku.
Przykład:
Input:
3
11
1
4
Output:
TAK
NIE
NIE
źródło: http://pl.spoj.com/problems/PRIME_T/
Kod:
#include <iostream>
using namespace std;
bool czy_pierwsza(int n);
int main()
{
int n;
cin >> n;
int* tab=new int [n];
for(int i=0; i<n; i++)
cin >> tab[i];
for(int i=0; i<n; i++)
if(czy_pierwsza(tab[i])) cout << "TAK\n";
else cout << "NIE\n";
delete [] tab;
return 0;
}
bool czy_pierwsza(int n)
{
if(n==1) return false;
for(int i=2; i<=(n/2); i++)
{
if( !(n%i) ) return false;
}
return true;
}
Offline
Strony: 1