Тема: Побудувати перестановки n чисел, які в сумі дають r.
Побудувати перестановки n чисел, які в сумі дають r.
Наприклад, n=2 r=2
20
02
11
Не можу за щось зачепитись Дякую!!!
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → C++ → Побудувати перестановки n чисел, які в сумі дають r.
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися
Побудувати перестановки n чисел, які в сумі дають r.
Наприклад, n=2 r=2
20
02
11
Не можу за щось зачепитись Дякую!!!
Як найпростійший варіант - це методом перебору.
Що вам потрібно написати:
- Функцію яка буде обчислювати суму цифр.
- В циклі перебирати всі можливі варіанти, наприклад для n=2 це 00, 01, 02, ... 99
Далі можна вже певним чином покращувати алгоритм, якщо це необхідно звичайно.
Як найпростійший варіант - це методом перебору.
Що вам потрібно написати:
- Функцію яка буде обчислювати суму цифр.
- В циклі перебирати всі можливі варіанти, наприклад для n=2 це 00, 01, 02, ... 99Далі можна вже певним чином покращувати алгоритм, якщо це необхідно звичайно.
У мене є рівняння х1+х2+..+хn=r. I для заданих N i r знайти всі розв язки рівняння. Розумієте?
Ну це нічого не змінює. Така сама логіка. Тільки в цьому рівнянні кожен x в [0,9].
Ну це нічого не змінює. Така сама логіка. Тільки в цьому рівнянні кожен x в [0,9].
Якщо вам не важко, опишіть, будь ласка, мої дії конкретно для цього рівняння. Я тільки починаю вчити мову, а тут не можу уявити суть.
Ось приблизно код того як я думаю:
int i;
int n = 2;
int k = 2;
for (number = 0; number < 10 * n; number++) {
// перевіряємо чи сума цифр дорівнує r
if (digits_sum(number) = r) {
// виводимо число. Тут складність з ведущими нулями
}
}
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися