क्या दो संख्याओं के बीच सही वर्गों की संख्या को खोजने के लिए सी (नीचे 1 सेकंड) में कोई तेज़ तरीका है। पूर्व के लिए । 1 < -> 10 के लिए हमारे पास 2 सही वर्ग 4 और 9 हैं। लेकिन 1 < -> 2^60 या कुछ अन्य बड़ी संख्या के बीच क्या है।दो संख्याओं के बीच सही वर्ग
यह धीमी है
while(i*i<=n)
{
sum+=i==((long long)(sqrt(i*i)));
i++;
}
जहां n है की सुविधा देता है का कहना है कि 2^60 और हम मैं के साथ शुरू = 2।
*, एक 486 या एक GeForce 560? –
क्यों, 2^30 - 1? क्या आप एंडपॉइंट्स के 'sqrt' की गणना कर सकते हैं और यह पता लगा सकते हैं कि उस सीमा में कितने पूर्णांक संख्याएं हैं? –