Разложение числа на сумму трех чисел - 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)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.923 из 5
Похожие ответы