Witam, mógłby ktoś dać jakąś wskazówkę?
include
> using namespace std; > int main() > { > int n,x; > cin >> n; > int tab [n]; > for (int i=0; i<n; i++) > { cin >> x; > tab[i]=x; } > for (int i=0; i<n; i++) > { > for (int a=2; a<n; a++) > { > if (tab[i]%a==0) > cout << "NIE" << endl; > else > cout << "TAK" << endl; > }} > return 0; > }
No przede wszystkim nie sprawdzasz podzielności do ilości liczb pierwszych tylko do liczby, Po co zmienna x? Można wpisać prosto do tablicy, która tak przy okazji jest niepotrzebna. Zmień układ pętli, dla znalezionego dzielnika przerwij pętlę i zajmij się wypisaniem (jakiś bool może pomóc albo coś). Bo jak na to na razie patrzę to nie działa to chyba zbyt dobrze.
To mój kod: http://ideone.com/A7pg0c21. Na ideone działa ale sędzia nie akceptuje. Proszę o komentarz co powinienem poprawić. Z góry dziękuje.
Witam.
napisałem 2 programy na liczby pierwsze i nie przeszły akceptacji. Nie wiem w czym jest problem. prosiłbym o wskazówki.
1 program zawiera błąd. Nie wiem jaki.
kod zatwierdzony - zgodnie z zasadami musiałem usunąć kod
2 program za długo liczy.
test = int(input('Input:\n'))
tab = []
count = 0
while test > count:
liczba = int(input())
tab.append(liczba)
count += 1
print('\nOutput:')
for n in tab:
p = 2
if n == 1 or n == 0:
print('NIE')
while p <= n:
if p == n:
print('TAK')
break
elif n % p == 0:
print('NIE')
break
p += 1
Czemu i po co!?
Zmień z powrotem na tak jak było - >> zmień randint na input(), oraz popraw tylko to, o czym napisał Ci @sig
nie bardzo rozumiem, co to znaczy: w kompilatorze wszystko działa - czy to, że program się kompiluje ?
doskonale za to rozumiem: ale nie zalicza mi zadania - i słusznie, bo program daje rozwiązanie innego problemu, niż podano w zadaniu - przeczytaj uważnie jeszcze raz (dwa, trzy, ... aż do zrozumienia) treść zadania