Cześć, mam problem z zadaniem Liczby Pierwsze. Sędzia nie przyjmuje mojego kodu, nie mam bladego pojęcie dlaczego prosiłbym o pokazanie gdzie tkwi błąd. Jeśli ktoś miałby czas zerknąć na kod byłbym wdzięczny.
Link do kodu: http://ideone.com/WJawoq
Pozdrawiam
Po pierwsze dopisuj się do istniejących wątków.po drugie ten program działa poprawnie dla liczb mniejszch niż 50, przy większych jak wszystkie dzielniki są większe niż 7 to uzna liczbę złożoną za pierwszą. Koncepcja nie najgorsza, ale sprawdzasz za mało pierwszych.
Witam, czy mógłbyś podać przykład liczb dla których program nie działa poprawnie ?
2121289Twój program uważa je za pierwsze, a to kwadraty liczb pierwszych 11 i 17. Weź dowolną pierwszą większą od 7, pomnóż przez sama siebie a dostaniesz odpowiedź że wynik tego mnożenia jest liczbą pierwszą
2121289
Aaa już rozumiem dzięki za pomoc, spróbuje naprawić ten błąd.
Jeszcze mam jedno pytanie, zmienić moją koncepcje, czy może zostać przy niej i spróbować ją dopracować ?
Jak już pisałem koncepcja dobra, tylko sprawdzasz za mało pierwszych. Nie wpisywał bym też ich na sztywno w if-a (bo byłby naprawdę długi) tylko użył tablicy.
Dzięki, posłucham się twojej rady.
Mam pytanie czy wiecie czemu sedzia nie akceptuje tego programu ?
include
using namespace std;int a,ile;int main(){ cin>>ile;
for(int i=0;i<ile;i++) { cin>>a; if(a<2){cout<<"NIE"<<endl;} else if (a%2==0) {cout<<"NIE"<<endl;}
else if (a%3==0) {cout<<"NIE"<<endl;}else if (a%5==0) {cout<<"NIE"<<endl;}else {cout<<"TAK"<<endl;} } return 0;}
tak, wiem, sędzia nie akceptuje, bo program zwraca błędne wyniki
np. dla: 3, 5, 49, 77, 91, ...