#include <vector>
#include <iostream>
bool isPrime(int num) {
for (int i = 2; i <= num / 2; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
void fill_matrix_with_prime_number(std::vector<std::vector<int>> &matrix) {
int rows = matrix.size();
int cols = matrix[0].size();
int total = rows * cols;
std::vector<int> result(total);
int index = 0;
int num = 2;
while (index < total) {
if (isPrime(num) == true) {
result[index] = num;
index++;
}
num++;
}
index = 0;
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
matrix[i][j] = result[index];
index++;
}
}
}
int main()
{
int rows = 4, cols = 5;
std::vector<std::vector<int>> matrix(rows, std::vector<int>(cols));
fill_matrix_with_prime_number(matrix);
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
std::cout << matrix[i][j] << " ";
}
std::cout << std::endl;
}
}
/*
run:
2 3 5 7 11
13 17 19 23 29
31 37 41 43 47
53 59 61 67 71
*/