Giả sử chúng ta có một mảng nums chứa các số lớn trong phạm vi (-2^31 đến 2^31 - 1). Chúng ta phải tìm tổng của các số này.
Ví dụ, nums = [5000000003, 3000000005, 8000000007, 2000000009, 7000000011], kết quả là 25000000035.
Giải thuật
- x := 0
- Duyệt qua mảng nums: x := x + nums[i]
- Trả về x (sử dụng long long để chứa số lớn)
Ví dụ minh họa
#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);
}
Đầu vào
{5000000003, 3000000005, 8000000007, 2000000009, 7000000011}
Đầu ra
25000000035