ধরা যাক nums নামে একটি অ্যারে আছে যাতে কিছু বড় সংখ্যা রয়েছে। এই বড় সংখ্যাগুলোর রেঞ্জ হলো (-2^31 থেকে 2^31 - 1)। এই সংখ্যাগুলোর যোগফল বের করতে হবে।
উদাহরণস্বরূপ, nums = [5000000003, 3000000005, 8000000007, 2000000009, 7000000011] হলে আউটপুট হবে 25000000035।
সমাধানের ধাপসমূহ
- x := ০
- প্রতিটি i = 0 থেকে nums.size()-1 পর্যন্ত:
- x := x + nums[i]
- x রিটার্ন করুন
নোট: C++-এ long long int (৬৪-বিট) ব্যবহার করলে এই রেঞ্জের সংখ্যাগুলোর যোগফল নিরাপদে সংরক্ষণ করা যায়।
উদাহরণ
নিচের ইমপ্লিমেন্টেশনটি দেখুন:
#include <iostream> #include <vector> using namespace std; long long int solve(vector<long long int> nums){ long long int x = 0; for(int i=0; i<nums.size(); i++){ x = x + nums[i]; } return x; } int main(){ vector<long long int> nums = {5000000003, 3000000005, 8000000007, 2000000009, 7000000011}; cout << solve(nums); }ইনপুট
{5000000003, 3000000005, 8000000007, 2000000009, 7000000011}আউটপুট
25000000035