Дано натуральное число n, известно что его можно разбить на сумму 3 неравных 0 чисел.
Написать программу которая выводит все эти числа, но они не должны повторяться, то есть от перемены мест слагаемых, ничего выводится не должно, например число 6, должно выводится 1+2+3 и 2+2+2, вот мой алгоритм
int n = Integer.parseInt(reader.readLine());
for (int i = 1; i < n; i++) {
for (int j = 1; j < n; j++) {
for (int k = 1; k < n; k++) {
if ((i+j+k) == n) {
System.out.println("Числа " + i + " + " + j + " + " +k);
}
}
}
}
Но выводит:
Числа 1 + 1 + 4
Числа 1 + 2 + 3
Числа 1 + 3 + 2
Числа 1 + 4 + 1
Числа 2 + 1 + 3
Числа 2 + 2 + 2
Числа 2 + 3 + 1
Числа 3 + 1 + 2
Числа 3 + 2 + 1
Числа 4 + 1 + 1
Догнать не могу как сделать проверку. Написать можно на java или c++, как вам будет удобнее).
П.с. забыл сказать, программа должна решаться только переменными и циклами, то есть никаких коллекций, массивов и т.д.