Giới thiệu
Cho mảng số nguyên, tính tổng: phần tử đầu + Σ(arr[i] / arr[i-1]) (chỉ lấy phần nguyên).
Ví dụ
Array: 3, 5, 98, 345 Sum = 3 + 5/3 + 98/5 + 345/98 = 3 + 1 + 19 + 3 = 26 Array: 2, 5, 8, 11, 43, 78, 234 Sum = 2 + 2 + 1 + 1 + 3 + 1 + 3 = 13
Thuật toán
sum = arr[0]
for i = 1 to n-1:
sum += arr[i] / arr[i-1] // Chia nguyên
print sum
Code C
#include <stdio.h>
int main() {
int arr[] = {2, 5, 8, 11, 43, 78, 234};
int n = sizeof(arr)/sizeof(arr[0]);
int sum = arr[0];
for (int i = 1; i < n; i++)
sum += arr[i] / arr[i-1];
printf("Sum = %d\n", sum);
return 0;
}
Kết quả
Sum = 13
Lưu ý
- Phần tử đầu không có phần tử trước → cộng trực tiếp
- Phép chia nguyên C tự động cắt phần thập phân
- Cần đảm bảo arr[i-1] ≠ 0 tránh chia cho 0