कहते हैं कि हम 3
संख्या N
, x
और y
जो हमेशा से रहे हैं >=1
है।द्वारा या तो एक्स 1 और एन विभाज्य के बीच सभी संख्याओं का योग ढूँढें या y
एन x
और y
और x
से अधिक y
से अधिक होगा।
अब हमें की आवश्यकता है जो 1 और एन के बीच सभी संख्याओं का योग पाएं जो x या y द्वारा विभाजित हैं।
मैं इस के साथ आया था:
sum = 0;
for(i=1;i<=N;i++)
{
if(i%x || i%y)
sum += i;
}
वहाँ एक रास्ता पाश के लिए टाल राशि पाने की बेहतर तरीका है?
मैं कई दिनों से अपने सिर को तेज़ कर रहा हूं लेकिन कुछ भी बेहतर नहीं मिला है।
यदि N
का मान ऊपरी सीमा है तो हम प्रक्रिया को तेज़ करने के लिए एक लुकअप विधि का उपयोग कर सकते हैं।
सभी को धन्यवाद।
मैं एक सी/सी ++ आधारित समाधान चाहता था। क्या ऐसा करने के लिए एक अंतर्निहित कार्य है? या मुझे एल्गोरिदम कोड करना है?
एक होमवर्क समस्या किसी भी संयोग से इस है? :) – Mehrdad
... गृहकार्य? डीएक्स – William
कोई सर नहीं। आप मुझ पर भरोसा कर सकते हैं। यह मेरे साक्षात्कार में मुझसे पूछा गया था। – user545682