Czy jest jakaś szybka droga w C (poniżej 1 sekundy), aby znaleźć liczbę doskonałych kwadratów między dwiema liczbami. Na przykład dla 1 < -> 10 mamy 2 doskonałe kwadraty 4 i 9. Ale co pomiędzy 1 < -> 2^60 lub jakąś inną większą liczbą.Idealne kwadraty między dwiema liczbami
jest wolna
while(i*i<=n)
{
sum+=i==((long long)(sqrt(i*i)));
i++;
}
gdzie n jest powiedzmy 2^60 i początek i = 2.
* poniżej 1 s * 1 sekundę na co, 486 lub GeForce 560? –
Dlaczego, 2^30 - 1? Czy możesz obliczyć 'sqrt' punktów końcowych i dowiedzieć się, ile liczb całkowitych znajduje się w tym zakresie? –