1 / 4
Jul 2019

Siemka jestem tu i chciałbym prosić o poradę.
Mianowicie mam problem z tym7 zadaniem podczas kompilacji wyskakuje “Przekroczono limit czasu” który wynosi 0.372s niżej podany kod na ideonie wykonuje się w 0.01s.
Czy w moim kodzie jest coś nie tak?

int ileTestow = int.Parse(Console.ReadLine());
for (int i = 0; i < ileTestow; i++)
{
string[] tablica = Console.ReadLine().Split();
int poczatek = int.Parse(tablica[0]);
int koniec = int.Parse(tablica[1]);
int wynik = 0;
int tak = 0;
for (int j = poczatek; j <= koniec; j++)
{
double kkk = Math.Sqrt(j);
for (int k = 2; k <= kkk; k++)
{
if (j % k == 0) { tak++; break; }
}
if (tak > 0) { tak = 0; }
else { wynik++; }
}
Console.WriteLine(wynik);

        }
  • created

    Jul '19
  • last reply

    Jul '19
  • 3

    replies

  • 574

    views

  • 2

    users

  • 1

    link

Nie wiem, nie znam się, ten kod jest napisany w javie?
Używaj ideone, wtedy będzie wszystko wiadome, jaki to język i dla jakich danych testujesz kod.
No właśnie, dla jakich danych testujesz kod? Jeśli dla przykładu ze strony z opisem to nic dziwnego że masz TLE xD
Testów może być 20000, a liczby z przedziału od 1 do 10^6, to teraz tak przetestuj swój kod dla 20000 przypadków z a = 1 i b = 10^6.

to przetestuj sobie takie coś:
10
2 1000000
2 1000000
2 1000000
2 1000000
2 1000000
2 1000000
2 1000000
2 1000000
2 1000000
2 1000000
i sprawdź czas