#include #include #include #include #include using namespace std; int s = 0; int n = 0; int a[1000][1000]; bool isPrime(int num) { if (num == 1) return false; int sq = sqrt(num); for (int i = 2; i < sq + 1; i++) { if (num % i == 0) return false; } return true; } int sum(int i, int j) { if (isPrime(a[i][j])) return 0; if (i == n - 1) return a[i][j];; return a[i][j] + max(sum(i + 1, j - 1), sum(i + 1, j + 1)); } void readData() { ifstream in; in.open("d.txt"); string x; while (std::getline(in, x)) { n++; } in.close(); in.open("d.txt"); for (int i = 0;i < n;i++) { s = 0; for (int j = 0;j < i + 1;j++) { in >> a[i][(n - 1 - i) + s]; s += 2; } } for (int i = 0;i < n;i++) { s = 0; for (int j = 0;j < i + 1;j++) { cout << i << "," << (n - 1 - i) + s << " = " << a[i][(n - 1 - i) + s] << " "; s += 2; } cout << endl; } } int main() { readData(); cout <<"max sum is = "<< sum(0, n - 1); return 0; }