Zadanie ze spoja
Ostatnio zmodyfikowano 2011-09-20 00:07
Lamerek Temat założony przez niniejszego użytkownika |
Zadanie ze spoja » 2011-09-18 09:24:56 Sprawdź, które spośród danych liczb są liczbami pierwszymi Input n - liczba testów n<100000, w kolejnych liniach n liczb z przedziału [1..10000] Output Dla każdej liczby słowo TAK, jeśli liczba ta jest pierwsza, słowo: NIE, jeśli jest złożona. Example Input: 3 11 1 4 Output: TAK NIE NIE #include<iostream>
using namespace std; int main() { int t; cin >> t; int tab[ 10000 ]; int i = 0; int a = 0; int b = 0; do { cin >> tab[ i ]; i++; } while( i != t ); do { for( int p = 2; p < tab[ b ]; p++ ) { if( tab[ b ] % p == 0 ) { cout << "NIE" << endl; b++; break; } if( p ==--tab[ b ] ) { cout << "TAK" << endl; } p++; } a++; } while( a != t ); system( "pause" ); return 0; }
Nie wiem co robie źle proszę o pomoc. |
|
DejaVu |
» 2011-09-18 13:17:28 |
|
Lamerek Temat założony przez niniejszego użytkownika |
» 2011-09-18 15:55:09 Mam już taki kod tylko nie wiem czemu jak napisze TAK to przestaje dalej liczyc #include<iostream>
using namespace std; int main() { int t; cin >> t; int tab[ 10000 ]; int i = 0; int b = 0; int p = 2; do { do { cin >> tab[ i ]; i++; } while( i != t ); do { do { if( tab[ b ] % p == 0 ) { cout << "NIE" << endl; break; } else p++; if( p == tab[ b ] ) { cout << "TAK" << endl; break; } } while( p != tab[ b ] ); b++; } while( b != t ); b++; } while( b != t ); system( "pause" ); return 0; }
|
|
DejaVu |
» 2011-09-18 16:31:51 Najwyraźniej w algorytmie jest błąd ;p Praca programisty polega między innymi na szukaniu błędów w kodzie - ćwicz jeżeli chcesz być programistą :) Przeanalizuj cały kod jeszcze raz, drugi, piąty, dziesiąty i tak aż do skutku. |
|
lynx |
» 2011-09-20 00:07:43 A czy na takich konkursach nie trzeba przypadkiem pracować samodzielnie? |
|
« 1 » |