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

Tam giác tổng từ mảng trong C

Tam giác tổng được tạo bằng cách giảm dần số phần tử mảng: mảng mới chứa tổng các phần tử liền kề của mảng trước, lặp lại cho đến khi còn 1 phần tử.

Ví dụ

Mảng: [3, 5, 7, 8, 9]

[106]
[47, 59]
[20, 27, 32]
[8, 12, 15, 17]
[3, 5, 7, 8, 9]

Giải thích:

  • Hàng 1: 3+5=8, 5+7=12, 7+8=15, 8+9=17
  • Hàng 2: 8+12=20, 12+15=27, 15+17=32
  • Hàng 3: 20+27=47, 27+32=59
  • Hàng 4: 47+59=106

Chương trình đệ quy

#include <stdio.h>

void printTriangle(int arr[], int n) {
    if (n < 1) return;
    
    int temp[n - 1];
    for (int i = 0; i < n - 1; i++)
        temp[i] = arr[i] + arr[i + 1];
    
    printTriangle(temp, n - 1);
    
    for (int i = 0; i < n; i++) {
        if (i == n - 1) printf("%d ", arr[i]);
        else printf("%d, ", arr[i]);
    }
    printf("\n");
}

int main() {
    int arr[] = {3, 5, 7, 8, 9};
    int n = sizeof(arr) / sizeof(arr[0]);
    printTriangle(arr, n);
    return 0;
}

Kết quả

106
47, 59
20, 27, 32
8, 12, 15, 17
3, 5, 7, 8, 9