Получить n'th element, полученный из генератора std ::C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Получить n'th element, полученный из генератора std ::

Сообщение Anonymous »

Я пытаюсь реализовать функцию, которая вычисляет n выбирать k. Моя идея состоит в том, чтобы сгенерировать n th ряд треугольника Паскаля и вернуть свой k thement. Я хотел бы использовать для этого std :: Generator . /p>
Мой код выглядит примерно так: < /p>

Код: Выделить всё

#include 
#include 
#include 

std::generator pascal_triangle()
{
std::vector current_row{1};

while (true)
{
co_yield current_row;

std::vector next_row;
next_row.reserve(current_row.size() + 1);

next_row.push_back(1);

for (const auto& [left_element, right_element] : std::views::pairwise(current_row))
{
next_row.push_back(left_element + right_element);
}

next_row.push_back(1);

current_row = std::move(next_row);
}
}

long choose(const int n, const int k)
{
// This line does not compile.
const std::vector row = std::ranges::next(pascal_triangle(), n);

return row[k];
}

Что мне нужно сделать, чтобы получить n th ряд?

Подробнее здесь: https://stackoverflow.com/questions/793 ... dgenerator
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»