#include <iostream>
#include <iomanip>
#include <cmath>
bool isPrime(int n) {
if (n < 2 || (n % 2 == 0 && n != 2)) {
return 0;
}
int count = floor(sqrt(n));
for (int i = 3; i <= count; i += 2) {
if (n % i == 0) {
return false;
}
}
return true;
}
void right_triangle_pattern_of_prime_numbers(int rows) {
int counter = 2;
for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= i; j++) {
while(!isPrime(counter)) {
counter++;
}
std::cout << std::setw(4) << counter;
counter++;
}
std::cout << "\n";
}
}
int main() {
right_triangle_pattern_of_prime_numbers(7);
}
/*
run:
2
3 5
7 11 13
17 19 23 29
31 37 41 43 47
53 59 61 67 71 73
79 83 89 97 101 103 107
*/