เราจำเป็นต้องคำนวณผลรวมขององค์ประกอบจากดัชนี i ถึงดัชนี j แบบสอบถามที่ประกอบด้วยค่าดัชนี i และ j จะถูกดำเนินการหลายครั้ง
Input:arr[] ={5, 6, 3, 4, 1 } i =1, j =3Output:13
คำอธิบาย
ตรรกะนั้นพื้นฐานมากในการเริ่มต้นลูปฟอร์ม i ดัชนีจนถึงดัชนี j และสรุปองค์ประกอบระหว่างดัชนีเหล่านั้น แต่เราไม่สามารถเก็บไว้ในตัวแปรพิเศษได้ ดังนั้นเราจะใช้อาร์เรย์อื่นที่เราเพิ่มองค์ประกอบอาร์เรย์ด้วยองค์ประกอบอาร์เรย์สุดท้ายเป็นต้น จากนั้นในดัชนี j เราจะลบค่าดัชนี i-1;
ตัวอย่าง
#includeใช้เนมสเปซ std;int rangeSum(int i, int j, int sum[]) { if (i ==0) return sum[j]; ผลตอบแทนรวม[j] - ผลรวม[i - 1];}int main() { int arr[] ={ 5, 6, 3, 4, 1 }; int n=5; จำนวนเต็ม[5]; sum[0] =arr[0]; สำหรับ (int i =1; i ผลลัพธ์
13