2 / 4
Sep 2020

tutaj jest mój kod do tego zadania: https://pl.spoj.com/problems/PRIME_T/6

#include
#include
using namespace std;

int main()
{
int liczba;
int n = 10000;
bool liczby[n+1];
for (int i = 0; i <= n; i++)
{
liczby[i] = true;
}
liczby[1] = false;
for (int i = 2; i >= sqrt(n); i++)
{
if (liczby[i] == true)
{
for (int j = i + i; j <= n; j = j + i)
{
liczby[j] = false;
}
}
}
int ile;
cin >> ile;

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

{

cin >> liczba;
    if (liczby[liczba] == true)
        cout << "TAK" << endl;
    else
        cout << "NIE" << endl;

}

return 0;

}

Wytłumaczy ktoś czemu on jest zły?

  • created

    Aug '20
  • last reply

    Oct '20
  • 3

    replies

  • 762

    views

  • 3

    users

  • 3

    links

1 month later

Dlaczego nie akceptuje mi mojej odpowiedzi?

https://ideone.com/TA831y2

#include <iostream>

using namespace std;
int a, b, n;
int main()
{
	cin>>n;
for(int i=1; i<=n; i++)
{
    cin>>a;
    b=0;
    if(a==1) cout<<"NIE"<<endl;
    else
    {
        for(int j=2; j<=a && j<5001; j++ )
        {
        if(a%j==0)
        {
            b++;
            if(b>1)
                {
                    cout<<"NIE"<<endl;
                    break;
                }
        }
        }
        if(b<=1)
        cout<<"TAK"<<endl;
    }


}
    return 0;
}

Już znalazłem błąd. Poprawiłem warunek j<5001 na j<10001 i zaakceptowało.