• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Liczby Pierwsze - SPOJ

0 głosów
445 wizyt
pytanie zadane 27 lipca 2018 w SPOJ przez Filip Stolarczyk Nowicjusz (200 p.)
zmienione kategorie 27 lipca 2018 przez Filip Stolarczyk

Chciałem stworzyć pętlę sprawdzającą czy liczba jest pierwsza, a dokładniej czy istnieją jakieś jej dzielniki. Jednak za każdym razem program odpowiada NIE. Nie potrafię znaleźć błędu w kodzie, ktoś, coś?
 

#include <iostream>

using namespace std;

int a,x=0;
float m[10000];

int main()
{
    cin>>a;

    for (int i=2; i<a; i++)
    {

        m[i-2]=a%i;        //pakuje do szufladek reszty z dzielenia

    }
    for (int i=0; i<a; i++)
    {
        if (m[i]==0)       //sprawdzam czy ktores dzielenie odbylo sie bez reszty
            x=x+1;         //jesli tak to zwiekszam "x" o 1
    }
    if (x>0)                //jesli x>0 to znaczy ze dla liczby "a" istnial jakis dzielnik rozny od niej samej
        cout<<"NIE";
        else
        cout<<"TAK";

    return 0;
}


 

1 odpowiedź

0 głosów
odpowiedź 27 lipca 2018 przez GRT_2017 Użytkownik (500 p.)
wybrane 27 lipca 2018 przez Filip Stolarczyk
 
Najlepsza

Część,

W 18 linijce masz błąd, zamiast :

for(int i=0; i<a;i++)

Powinno być :

for(int i=0;i<a-2;i++)

Domyślnie komórki w tablicy int są wypełnianie zerami, dlatego zmienna x zawsze miała wartość conajmniej 2 (sprawdź dodając komendę cout<<x).

Myślę, że to powinno pomóc.

Pozdrawiam

komentarz 27 lipca 2018 przez Filip Stolarczyk Nowicjusz (200 p.)
Rzeczywiście, wszystko jest teraz ok. Dzięki wielkie.
Błędy nowicjusza, widać daleka jeszcze dla mnie droga xd

Podobne pytania

0 głosów
2 odpowiedzi 971 wizyt
pytanie zadane 1 lipca 2018 w SPOJ przez Fernokip Nowicjusz (180 p.)
0 głosów
1 odpowiedź 351 wizyt
pytanie zadane 13 października 2019 w C i C++ przez Bartek K. Nowicjusz (230 p.)
0 głosów
2 odpowiedzi 868 wizyt
pytanie zadane 28 lutego 2019 w C i C++ przez niezalogowany

93,743 zapytań

142,682 odpowiedzi

323,299 komentarzy

63,330 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...