Разложение числа на сумму трех чисел - 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)
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д