How to get the row of Pascal triangle given an integer rowIndex in C++

2 Answers

0 votes
#include <iostream>
#include <vector>

std::vector<int> getPascalTriangleRow(int rowIndex) {
    long len = rowIndex + 1;
    std::vector<int> vec(len, 0);
    
    vec[0] = 1; 
    if (rowIndex ==0) return vec;
    
    vec[len - 1] = 1;
    if (rowIndex == 1) return vec;
        
    long last = len - 1;
    long i = 1, j = len - 2;
    while (i <= j) {
        vec[i] = vec[i - 1] * last / i;
        vec[j] = vec[i - 1] * last / i;
        last--;
        i++;
        j--;
    }
    
    return vec;
}

int main() {
    std::vector<int> vec = getPascalTriangleRow(4);
    
    for (int n : vec) {
         std::cout << n << " ";
    }
}

      
      
/*
run:
      
1 4 6 4 1 

*/

 



answered Aug 3, 2025 by avibootz
0 votes
#include <iostream>
#include <vector>

std::vector<int> getPascalTriangleRow(int rowIndex) {
    std::vector<int> row(rowIndex + 1, 1); // Initialize row with 1s
    
    for (int i = 1; i < rowIndex; i++) {
        row[i] = row[i - 1] * (rowIndex - i + 1) / i;
    }
    
    return row;
}

int main() {
    int rowIndex = 4;
    
    std::vector<int> row = getPascalTriangleRow(rowIndex);
    
    for (int num : row) {
        std::cout << num << " ";
    }
}

      
      
/*
run:
      
1 4 6 4 1 

*/

 



answered Aug 3, 2025 by avibootz
...