สมมติว่าเรามีอาเรย์ nums ที่เก็บเลขใหญ่หลายตัว โดยเลขเหล่านี้อยู่ในช่วง -2^31 ถึง 2^31 - 1 เราต้องหาผลรวมของเลขเหล่านี้
เช่น หาก nums = [5000000003, 3000000005, 8000000007, 2000000009, 7000000011] ผลลัพธ์จะเป็น 25000000035
ขั้นตอนการแก้ปัญหา
- x := 0 (ใช้ long long เพื่อรองรับเลขใหญ่)
- วนลูปผ่านทุกตัวเลขใน nums: x := x + nums[i]
- คืนค่า x
ตัวอย่างโค้ด
#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