Cześć
Postanowiłem napisać tutaj, może ktoś wie.Mam pytanie odnośnie strony http://pl.spoj.pl/problems/PRIME_T/ oraz zadania do osób, które się tym interesowały i robiły zadania.Chodzi mi tutaj o to czy liczby mają być losowe czy podane przez użytkownika.
Liczby są podawane na wejściu przez usera. Testerka ma swoje testy, na których będzie sprawdzać program.
Dzięki
A może być np. tak?
13
Tak
12
Nie
11
Tak
No przecież tak to działa. Masz napisane wyraźnie "Dla każdej liczby słowo TAK, jeśli liczba ta jest pierwsza, słowo: NIE, jeśli jest złożona." Z czym Ty masz problem? Dla każdego testu dostajesz wynik w postaci output'a "Tak" lub "Nie".
Chodzilo mi o to czy ma być tak jak napisanem czy tak jak jest napisane na stronie czyli:
Input:
3
11
1
4
Output:
TAK
NIE
NIE
Ech... Umiesz czytać? "Dla każdej liczby..."
To co masz pokazane jest pełnym wynikiem programu po całym teście. Po podaniu każdej liczby ma być wyświetlona odpowiedź dla tej liczby. I tak dla wszystkich liczb z testu.
okej
Czy ktoś wie gdzie zrobiłem błąd? na stronie piszę, że mam błąd.
#include <iostream>
using namespace std;
int main(int argc, char *argv[]) {
for(int i=0;i<10;i++)
{
int x;
cin>>x;
for(int i=1; i<10;i++)
{
if(i==x)
{continue;}
if(i==1)
{
continue;
}
if(x%i==0)
{cout<<"NIE\n";
break;
}
else{
cout<<"TAK\n";
break;
}
}
}
return 0;
}
chyba nie zrozumialeś zasad pisania programów na spoja.
To DZIAŁAJĄCY kod do tego zadania w C++
#include <iostream>
#include <cmath>
using namespace std;
using namespace std;
bool LiczbaPierwsza (int nLiczba)
{
if(nLiczba == 2)
return true;
if(nLiczba == 1)
return false;
for(int i = 2; i <= sqrt(static_cast<double>(nLiczba)); i++)
{
if(nLiczba % i == 0)
return false;
}
return true;
}
int main()
{
int nLiczba, nTest;
cin >> nTest;
while(nTest)
{
cin >> nLiczba;
if(LiczbaPierwsza(nLiczba))
cout << "TAK\n";
else
cout << "NIE\n";
nTest--;
}
cin.sync();
cin.get();
return 0;
}
Zobacz sobie co jest u Cb nie tak