Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Tổng mảng sau khi chia mỗi phần tử cho phần tử trước (C)

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