समस्या
Add all odd numbers from 1 up to and including n, using a loop.
Implement sum_of_odds(n).
Input
n: The upper limit.
Output
Return the sum of the odd numbers from 1 through n (0 if there are none).
सीमाएँ
0 ≤ n ≤ 1,000,000
उदाहरण
इनपुट:
n = 7
अपेक्षित आउटपुट:
expected = 16
इनपुट:
long long n = 7;
अपेक्षित आउटपुट:
long long expected = 16;
इनपुट:
long n = 7;
अपेक्षित आउटपुट:
long expected = 16;
व्याख्या
1 + 3 + 5 + 7 = 16.
इनपुट:
n = 0
अपेक्षित आउटपुट:
expected = 0
इनपुट:
long long n = 0;
अपेक्षित आउटपुट:
long long expected = 0;
इनपुट:
long n = 0;
अपेक्षित आउटपुट:
long expected = 0;
व्याख्या
There are no odd numbers from 1 to 0, so the sum is 0.
कैसे हल करें
पहले खुद कोशिश करें, फिर एक-एक करके संकेत खोलें।
संकेत 1
सिर्फ odd numbers contribute करते हैं, इसलिए upward scan करते समय even ones छोड़ दो.
संकेत 2
Sequence में step करके matching values जोड़ने वाला loop काफी है.
संकेत 3
अगर upper limit 1 से नीचे है, तो total zero ही रहना चाहिए.
अपेक्षित जटिलता
समय O(n), अतिरिक्त स्थान O(1)
संदर्भ
यह चुनौती CodeUtility के लिए अनुकूलित की गई है। ऊपर दिए गए स्टेटमेंट और सीमाओं का पालन करें।