Разложение числа на сумму трех чисел - C (СИ)
Формулировка задачи:
Нужно срочно(до вечера четверга) решить задачу.
Условие: Разложить целое положительное число на сумму трех целых положительных чисел с повторами и без повторов.
Решение должно быть таким: ввели, например, число 5.
Результат с повторами: 1 1 3 Без повторов: 1 1 3
1 2 2 1 2 2
1 3 1
2 1 2
2 2 1
3 1 1
То есть 2 2 1 и 1 2 2 - это повтор.
И еще. Препод сказал сделать это с помощью циклов.
Как исключить повторы?
Вот написал прогу с повторами:
#include<stdio.h>
#include<conio.h>
int main()
{ int a, b, c, d;
scanf("%d",&a);
for(b=1;b<(a-1);b++)
for(c=1;c<(a-1);c++)
for(d=1;d<(a-1);d++)
if(b+c+d==a) printf("%d %d %d\n",b,c,d);
fflush(stdin);
getch();
clrscr();
return 0;
}Решение задачи: «Разложение числа на сумму трех чисел»
textual
Листинг программы
if (x + y + z = n)