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

Скорректировать циклы под задачу

05.05.2012, 02:33. Показов 807. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача. Любимое занятие котенка Мурхика - прыгать по лесенке вверх, перепрыгивая через ступеньки. Лестница имеет определенное количество ступенек N. Котенок может одним прыжком преодолеть не более К ступенек. Для разнообразия Мурзик пытается каждый раз найти новый путь к вершине лестницы. Студентам второго курса факультета экономической информатики стало интересно, сколько различных способов есть у котенка добраться до вершины лестницы при заданных значениях К и N.

Напишите программу, которая поможет вычислить это количество. Например, если К=3 и N=4, то существуют следующие маршруты: 1+1+1+1, 1+1+2, 1+2+1, 2+1+1, 2+2, 1+3, 3+1. Т.е. при данных значениях у котенка всего 7 различных маршрутов добраться до вершины лестницы.

Вот есть код, только необходимо немного скорректировать циклы, путаюсь не могу сама этого правильно сделать:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
 
int main()
 
{
 
// Решение методом динамического программирования int N;
 
long long F[31];
 
scanf("%d",&N);
 
F[1]=1;F[2]=2;F[3]=4; 
 
for(int i=4; i <= N; i++)
 
F[i]=F[i-1]+F[i-2]+F[i-3];
 
printf("%I64d",F[N]);
 
return 0;
 
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.05.2012, 02:33
Ответы с готовыми решениями:

Нужно скорректировать задачу со структурами
Я определила структуру «студент», поля структуры: ФИО, массив элементов структуры «дисциплина» (не менее 4-х элементов, результаты сдачи...

Помогите решить задачу на циклы.
Логической переменной t присвоить значение True или False в зависимости от того, является натуральное число k степенью числа 3 или нет.

Циклы с неустановленным числом повторений(подскажите как задачу решить)
НЕ используя стандартные функции, вычислить с точностью ε&gt;0 Y=arctgx=x-x(в степени 3)/3+x(в степени 5)/5-…+(-1)(в степени n) x(в...

2
Эксперт С++
 Аватар для valeriikozlov
4728 / 2549 / 757
Регистрация: 18.08.2009
Сообщений: 4,568
05.05.2012, 05:59
Марри, Вам видимо сюда:
Заец. Его любимое занятие - прыгать по лесенке вверх, перепрыгивая через ступеньки...
0
Заблокирован
05.05.2012, 14:22
А вообще то задача интересная, но, по всей видимости еще не решенная.

Добавлено через 1 час 35 минут
Вот мое решение:

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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#include "stdafx.h"
#include <iostream>
 
using namespace std;
 
class Task
{
public:
    static long long decisions;
    Task(long long k, long long n) : K(k <= n ? k : n), N(n) {} //можно обойтись менее мощным котенком
    void Decide()
    {
        if (K == 1)
            ++decisions;
        else if (K == N)
        {
            ++decisions; //котенок прыгает сразу на верхнюю ступеньку
            Task subTask(K-1, N); //после можно обойтись менее мощным котенком
            subTask.Decide();
        }
        else
        {
            for (long long i = 1; i <= K; ++i)
            {
                long long M = N - i;
                if (M == 0)
                    break;
                else
                {
                    Task subTask(K, M); //очевидное сведение к более простым задачам
                    subTask.Decide();
                }
            }
        }
    }
private:
    long long K;
    long long N;
};
 
long long Task::decisions(0);
 
 
 
 
 
int _tmain(int argc, _TCHAR* argv[])
{   
    long long power;
    long long steps;
    cout << "Enter kitten power: ";
    cin >> power;
    cout << "Enter number of steps: ";
    cin >> steps;
    Task MyTask(power, steps);
    MyTask.Decide();
    cout << "The kitten with power " << power << " on the stairs with " << steps << " steps has" << endl;
    cout << Task::decisions << " ways to climb up the top of this stair."<< endl;
 
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.05.2012, 14:22
Помогаю со студенческими работами здесь

Вычислить сумму указанных чисел,решить задачу 3 способами, используя циклы с параметром, с предусловием, с постусловием
Вычислить сумму указанных чисел, вывести данные числа на экран, решить задачу 3 способами, используя циклы. с параметром, с предусловием, с...

Посоветуйте оборудование под задачу
Коллеги, вопрос стоит именно об оборудовании Cisco. Никакое другое оборудование не рассматривается. Поэтому пишу в раздел Цисков. ...

Переделать задачу под С++ с рекурсией
Здравствуйте,нужно переделать данную задачу с паскаля на С++ с использованием рекурсии.Нужна помощь. Вот условие к ней Вычислить...

Задачу в Delphi переделать под C#
Здравствуйте. Дельфи я не изучал, а задание нам препод дал сделать под с#. В общем дано const MaxN = 30; type ВещТип =...

Корректировка запроса под задачу
Имеется периодический регистр сведений КурсыВалют с измерением Валюта (СправочникСсылка.Валюты) и ресурсами Курс (Число 10.4), Кратность...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru