Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 22.06.2019
Сообщений: 31

Вывести на экран различные пути, по которым фишка может пройти поле от позиции 1 до позиции n

09.02.2020, 12:54. Показов 947. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Фишка может двигаться по полю длины n только вперед. Длина хода фишки не более k. Вывести на экран различные пути, по ко- торым фишка может пройти поле от позиции 1 до позиции n
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.02.2020, 12:54
Ответы с готовыми решениями:

Вывести на экран различные пути, по которым фишка может пройти поле от позиции 1 до позиции n
Фишка может двигаться по полю длины n только вперед. Длина хода фишки не более k. Вывести на экран различные пути, по которым фишка может...

Найти число различных путей, по которым фишка может пройти поле от позиции 1 до позиции N
Фишка может двигаться по полю длины N только вперед. Длина хода фишки не более K. Найти число различных путей, по которым фишка может...

Найти число различных вариантов ходов, при которых фишка может пройти поле от начала до конца
Фишка может двигаться только вперед по полю длины N. Длина хода фишки не более К. Найти число различных вариантов ходов, при которых фишка...

6
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
09.02.2020, 13:55
Рекурсия спасет отца русской демократии.
А если бы нужно было только количество путей, то очень кстати пришлись бы методы динамического программирования.
1
Заблокирован
09.02.2020, 16:23
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
int nw=0;
void ways(vector<int> v,int l,int k,int n)
{
    int s=v.size();
    v.push_back(0);
    for(int i=1; i<=k; i++)
    {
        v[s]=i;
        if(l+i<n) ways(v,l+i,k,n);
        else
            {
                for(i=0; i<=s; i++)
                    cout<<v[i]<<" ";
                cout<<endl;
                nw++;
                return;
            }
    }
}
void main()
{
    int n,k;
    cout<<"n k: ";
    cin>>n>>k;
    vector<int> v;
    ways(v,0,k,n);
    cout<<nw<<endl;
    system("pause");
}
0
4949 / 2289 / 287
Регистрация: 01.03.2013
Сообщений: 5,991
Записей в блоге: 32
10.02.2020, 02:15
Цитата Сообщение от Байт Посмотреть сообщение
А если бы нужно было только количество путей, то очень кстати пришлись бы методы динамического программирования.
С позиций развития вселенной нет большой разницы что аккумулировать - количество через инкремент или пути через мешок вариантов. Так что и рекурсия и динамическое программирование могут прийтись в обоих случаях.

Добавлено через 7 минут
PS но динамику/мемоизацию в плюсах лепить лениво, так что без нее
C++
1
2
3
4
5
6
7
8
9
int n, k;
 
void f(int i, std::string s) {
    if (i > n) return;
    else if (i == n) std::cout << s << "\n";
    else for (int j=1; j<=k; j++) f(i+j, s + " " + std::to_string(i+j));
}
 
int main() { std::cin >> n >> k; f(1, "1"); }
0
736 / 702 / 110
Регистрация: 29.05.2015
Сообщений: 4,293
10.02.2020, 06:43
Цитата Сообщение от Alexandr Petrov Посмотреть сообщение
Фишка может двигаться по полю длины n только вперед. Длина хода фишки не более k. Вывести на экран различные пути, по ко- торым фишка может пройти поле от позиции 1 до позиции n
Если фишка может двигаться "только вперёд", то и путь может быть только один - вперёд. Особенно если движется по полю, у которого есть длина и нет ширины. Ответ - 1.
0
0 / 0 / 0
Регистрация: 22.06.2019
Сообщений: 31
01.03.2020, 16:08  [ТС]
чет не работает

Добавлено через 1 минуту
чет не работает
0
0 / 0 / 0
Регистрация: 22.06.2019
Сообщений: 31
01.03.2020, 16:21  [ТС]
Фишка может двигаться по полю длины n только вперед. Длина хода фишки не более k. Вывести на экран различные пути, по ко- торым фишка может пройти поле от позиции 1 до позиции n
Есть код но он не рабочий
помогите пофиксить
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <math.h>
#include <fstream>
#include <iostream>
#include <string>
using namespace std;
int nw=0;
void ways(vector<int> v,int l,int k,int n)
{
    int s=v.size();
    v.push_back(0);
    for(int i=1; i<=k; i++)
    {
        v[s]=i;
        if(l+i<n) ways(v,l+i,k,n);
        else
            {
                for(i=0; i<=s; i++)
                    cout<<v[i]<<" ";
                cout<<endl;
                nw++;
                return;
            }
    }
}
void main()
{
    int n,k;
    cout<<"n k: ";
    cin>>n>>k;
    vector<int> v;
    ways(v,0,k,n);
    cout<<nw<<endl;
    system("pause");
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.03.2020, 16:21
Помогаю со студенческими работами здесь

Строка: Вывести нечетные символы во 2 строку экрана с 5-й позиции, а четные в 23-ю строку с 5-й позиции.
Помогите пожалуйста решить задачу на экзамен. Дана строка символов. Вывести нечетные символы во 2 строку экрана с 5-й позиции, а четные...

Вывести на экран матрицу с указанной пользователем позиции
Двумерный динамический массив. Написать программу, которая выводит на экран массив с указанной пользователем позиции. Если позиция больше...

Вывести на экран массив с указанной пользователем позиции
Одномерный динамический массив. Написать программу, которая выводит на экран массив с указанной пользователем позиции. Если позиция больше...

Вывести на экран позиции тех символов, которые совпадают с данным
Дана строка К и символ, введенный с экрана. Вывести на экран позиции тех символов, которые совпадают с данным, если таких нет, то написать,...

Вывести на экран позиции всех нулевых элементов массива, посчитать их количество
помогите. немогу разобратья. заполнить одномерный целочисленный массив двадцатью случайными значениями из интервала (-5;5). вывести на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru