Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรม C++ บวกเลขใหญ่หลายตัว


สมมติว่าเรามีอาเรย์ 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