1

Тема: Побудувати перестановки n чисел, які в сумі дають r.

Побудувати перестановки n чисел, які в сумі дають r.
Наприклад, n=2 r=2
20
02
11
Не можу за щось зачепитись Дякую!!!

2

Re: Побудувати перестановки n чисел, які в сумі дають r.

Як найпростійший варіант - це методом перебору.
Що вам потрібно написати:
- Функцію яка буде обчислювати суму цифр.
- В циклі перебирати всі можливі варіанти, наприклад для n=2 це 00, 01, 02, ... 99

Далі можна вже певним чином покращувати алгоритм, якщо це необхідно звичайно.

Подякували: maksym08, leofun012

3

Re: Побудувати перестановки n чисел, які в сумі дають r.

Replace написав:

Як найпростійший варіант - це методом перебору.
Що вам потрібно написати:
- Функцію яка буде обчислювати суму цифр.
- В циклі перебирати всі можливі варіанти, наприклад для n=2 це 00, 01, 02, ... 99

Далі можна вже певним чином покращувати алгоритм, якщо це необхідно звичайно.

У мене є рівняння х1+х2+..+хn=r. I для заданих N i r знайти всі розв язки рівняння. Розумієте?

4

Re: Побудувати перестановки n чисел, які в сумі дають r.

Ну це нічого не змінює. Така сама логіка. Тільки в цьому рівнянні кожен x в [0,9].

5

Re: Побудувати перестановки n чисел, які в сумі дають r.

Replace написав:

Ну це нічого не змінює. Така сама логіка. Тільки в цьому рівнянні кожен x в [0,9].

Якщо вам не важко, опишіть, будь ласка, мої дії конкретно для цього рівняння. Я тільки починаю вчити мову, а тут не можу уявити суть.

6

Re: Побудувати перестановки n чисел, які в сумі дають r.

Ось приблизно код того як я думаю:

int i;
    int n = 2;
    int k = 2;
    
    for (number = 0; number < 10 * n; number++) {
        
        // перевіряємо чи сума цифр дорівнує r
        if (digits_sum(number) = r) {
            // виводимо число. Тут складність з ведущими нулями
        }
    }
Подякували: maksym081