Postoji rešenje
37, 1, 2, 4, 11, 5, 3, 7, 14, 6, 15, 35, 28, 8, 22, 33, 21, 18, 27, 9, 34, 20, 12, 31, 13, 32, 16, 29, 17, 30, 10, 25, 23, 26, 24, 36, 19
koje ispaljuje sledeći program
Code:
#include <iostream>
#include <cstdlib>
using namespace std;
int niz[37];
bool izracunaj(int n, int s) {
if (n == 37) {
return true;
}
for (int k = 1; k <= 37; ++k) {
int i;
for (i = 0; i < n; ++i) {
if (niz[i] == k) {
break;
}
}
niz[n] = k;
if (i == n && (s%k == 0) && izracunaj(n + 1, s + k)) {
return true;
}
}
return false;
}
int main() {
niz[0] = 37;
niz[1] = 1;
if (izracunaj(2, 38)) {
for (int i = 0; i < 37; ++i) {
if (i > 0) {
cout << ", ";
}
cout << niz[i];
}
cout << "." << endl;
} else {
cout << "Nema resenja" << endl;
}
return EXIT_SUCCESS;
}