Code C:
#include<stdio.h>
int main() {
int n;
scanf("%d",&n);
int arr[n];
for (int i=0;i<n;i++) {
scanf("%d",&arr[i]);
}
printf("%d",arr[0]+arr[n-1]);
}
Code C++:
#include<iostream>
using namespace std;
int main() {
int n;
cin>>n;
int arr[n];
for (int i=0;i<n;i++) {
cin>>arr[i];
}
cout<<arr[0]+arr[n-1];
}
Giải thích:
- Tính tổng phần tử đầu tiên và phần tử cuối cùng thì ta sử dụng:
Phần tử 0 của mảng + phần tử n-1 của mảng (nếu bắt đầu từ 0)
-----------
Còn nếu i chạy từ 1 đến n thì ta sử dụng:
Phần tử 1 của mảng + phần tử n của mảng
* Giải thích cho điều này là vì nếu i bắt đầu từ 0, i chạy đến n-1 thì không tồn tại phần tử thứ n, còn nếu i bắt đầu từ 1, i chạy đến n thì tồn tại phần tử thứ n.
Ví dụ (bắt đầu từ 0):
3
8 9 2
10
a[0] = 8
a[1] = 9
a[2] = 2
Mà n=3, nếu ta sử dụng a[0]+a[n] thì kết quả sẽ ra 6422280 (trên vscode)
Nên ta phải ghi là a[0]+a[n-1]
Ví dụ (bắt đầu từ 1):
3
8 9 2
10
a[1] = 8
a[2] = 9
a[3] = 2
Vậy, nếu bắt đầu từ 1 thì phần tử thứ n tồn tại