41 / 77
Feb 2016

Będę bardzo wdzięczny jeżeli powie ktoś co robię
nie tak i ewentualnie udzieli porady
edit:
Dziękuje za pomoc smile

W tej pętli powinno być <=... <- co wynika z definicji liczb pierwszych (przez jeden i przez samą siebie)...

Hej, mam problem, sędzia nie przyjmuje, a wynik jest OK, czy ktoś mógłby pomóc:

Już naprawiłem, zamiast wczytywać kolejne liczby, generowałem je losowo..
Pozdrawiam

10 months later
3 months later

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

Z pierwszego programu pousuwałem zbędne print-y, i mi zaliczyło. Pamiętaj że sprawdza komputer, jeśli więc wypiszesz cokolwiek czego niema w specyfikacji wyjścia, dostaniesz błędną odpowiedź.

ps nie zapomnij usunąć kodów z forum jak ci też zaliczy

Witam
W programie 1 zastąpiłem input() instrukcja randint(1,10000). losowa wybiera ilość testów i liczby. pozbyłem się ostatniego printa nadal mi nie chce zatwierdzić zadania.

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

Dziękuje za pomoc. Usunąłem zbędne printy i zadziałało. Bez podpowiedzi nie zrobiłbym tego zadania.

Witam.
Nie będę oryginalny, nie wiem dlaczego nie zatwierdza mi programu.
Proszę o wskazówki.
EDIT:
Dziękuję za nakierowanie, samo sprawdzanie zakresu danych nie było problemem, ale zły zakres tego sprawdzania.
Gdzieś wyżej przeczytałem, żeby usuwać kod, tak też więc robię.

sprawdzanie zakresu danych podanych tekście zadania jest niezalecane - to problem autora

sprawdzanie w taki sposób, jak to zrobiłeś jest podwójnie niezalecane

Oto mój kod, w kompilatorze wszystko działa, ale nie zalicza mi zadania. Pomoże ktoś?

include

using namespace std;

int main(){
int n;
int suma = 0;

cin >> n;

for(int i = 1; i <= n; i++){
	if(n%i == 0){
		suma++;
	}
}
if(suma==2 && n>1){
	cout << "TAK" << endl;
}else{
	cout << "NIE" << endl;
}
return 0;

}

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

Nie będę oryginalny program się kompiluje, mi wydaję się że wszystko jest w porządku jednak sędzia nie uznaje...

udało się ogarnać dzięki za pomoc wyrzucam kod

Masz o jeden nawias za dużo. Po co Ci ten warunek:

Zobacz sobie test:
2
100
50

Ta pętla jest dla mnie dzika. Spróbuj ją jeszcze raz zdefiniować. Zrób sobie nieskończoną pętle for, zadeklaruj jednostkę pomocniczą (zorientujesz się o jakiej wartości), inkrementuj ją i nie zapomnij o przerwaniu funkcji jak zostanie spełniony warunek. Wydaje mi się, że to najłatwiejszy sposób. Ale jestem początkujący więc mogę się mylić :slight_smile: Powodzenia :slight_smile:

zmieniając pętle for (j= 2; j<=sqrt(liczba); j++) na (j= 2; j<liczba; j++) warunek

else if (liczba ==3) {
cout << "TAK" << endl;}

stawał się niekonieczny, po wprowadzeniu dodatkowej zmiennej do pętli zadziałało
tak że dzięki i pozdrawiam

11 days later

include

using namespace std;
int y,x,d=0;
int main()
{
cin>>y;
for (int i=1; i<=y; i++)
{cin>> x;
for (int i=1; i<=x; i++)
{
if(x%i==0)
d++;
}
if (d==2)
cout<<"TAK"<<endl;
else
cout<<"NIE"<<endl;
}

return 0;

}

Czy rzeczywiście jest tu jakiś błąd?

a czy zrobiłeś jakieś testy ?

bo gdybyś zrobił, to byś wiedział, że jest (a nawet więcej niż jeden, bo ja widzę dwa, co nie znaczy, że nie ma więcej)

Ująłbym to tak:
Nieumiejętne i niuuzasadnione stosowanie zmiennych globalnych, prowadzące do naiwnego myślenia, że zmienna globalna załatwia "sprawę".

PS
Sama metoda sprawdzania [aby nie obrażać algorytmu] jest bardzo nieoptymalna.