1

Тема: Чи мій код відповідає заданій задачі?

Використати рекурсивні функції для пошуку розв’язку.
На зборах присутні 30 осіб. Скількома способами можна обрати президію зборів у складі трьох осіб ?

#include <stdlib.h>
#include <stdio.h>
unsigned num(unsigned n, unsigned m) {
return n > m? n * num(n - 1, m) : 1;
}
unsigned den(unsigned n) {
return n? n * den(n - 1) : 1;
}
int main(void) {
unsigned a = 30, b = 3;
unsigned x = num(a, a - b) / den(b);
printf("Кількість способів: %u\n", x);

return 0;
}
Подякували: koala, ch0r_t2

2 Востаннє редагувалося koala (28.10.2021 13:47:42)

Re: Чи мій код відповідає заданій задачі?

0. Код дуже бажано вирівнювати - всередині фігурних дужок додавати по 2 чи 4 пробіли чи 1 табуляцію. Невирівняний код, як ваш, складно читається.
1. Ви, швидше за все, самі в стані відповісти на своє питання. Якщо вас турбує якийсь конкретний момент, то варто його уточнювати.
2. Ви, схоже, скористалися нерекурентною формулою, розклали її на числівник та знаменник і знаходите їх рекурентно. В принципі, умову сформульовано так, що цей спосіб коректний, однак можна було й дещо краще. Утім, будь-яку програму можна покращити, тому питання тут радше чи прийме це ваш викладач. Я б прийняв.

Подякували: isopesku051

3

Re: Чи мій код відповідає заданій задачі?

"Рекурентно" не зовсім той термін. Бачив тільки в літературі по психіатрії, по CS не пригадую аби вживали.

4

Re: Чи мій код відповідає заданій задачі?

https://uk.wikipedia.org/wiki/Рекурентне_співвідношення

Подякували: ch0r_t, wander, leofun013

5

Re: Чи мій код відповідає заданій задачі?

Хах...треба ж таке...