Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
42 / 15 / 1
Регистрация: 06.12.2019
Сообщений: 429
.NET 4.x

Японский лифт - 6

18.01.2020, 21:12. Показов 2876. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Японский лифт - 6.
Есть здание, высотой n этажей (1<n<=50).

Карлсон находится на верхнем этаже и ему нужно на лифте спустится на первый этаж.

В этот раз иные ограничения на движение лифта вниз - задано целое число m - это максимальное количество этажей, которые может проехать лифт вниз за один раз. Например, если m = 1, то может проехать 1 этаж, если m = 3, то может проехать 1 или 2 или 3 этажа, если m = 5, то может проехать от 1 до 5 этажей включительно...
Когда лифт приближается к первому этажу, то следует учитывать, что лифт не уедет под землю, то есть если лифт сейчас на 2-ом этаже, а m=5, то это значит, что лифт может проехать вниз только 1 этаж, а 2, 3, 4, и 5 - не может. Ноль этажей вниз не может проехать, то есть движение вниз всегда на число более 0. Число m может лежать в диапазоне [1; 50]

Остановка на каждом этаже имеет стоимость, включая и нахождение не верхнем этаже.

Нужно найти количество возможных путей движения на лифте с n-го этажа на первый.

На вход подаётся в одной строке через пробел два целых числа:

сначала n - количество этажей в здании [1; 50];
затем m - максимальное количество этажей спуска на лифте за один раз [1; 50]
На выход подаётся одно число - количество возможных путей спуска.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
using System;
 
class Test
{
    static void Main()
    {
        int number = int.Parse(Console.ReadLine());
        Console.WriteLine(Foo(number));
        Console.WriteLine();
        Console.ReadKey();
    }
 
    static int Foo(int number)
    {
        if (number == 0) return 0;
        return number == 1 ? 1 : (Foo(number - 1) + Foo(number - 2));
    }
}
Добавлено через 27 секунд
Что делать с m - максимальное количество этажей спуска на лифте за один раз ?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.01.2020, 21:12
Ответы с готовыми решениями:

Японский лифт - 4
Японский лифт - 4. Есть здание, высотой n этажей . Карлсон находится на верхнем этаже и ему нужно на лифте спустится на первый этаж....

Японский лифт - 3
Японский лифт - 3. Задача аналогична первой, но есть усложнение не только по количеству этажей, но и по запрещённому этажу... Есть...

Японский лифт - 5
Японский лифт - 5. Есть здание, высотой n этажей . Карлсон находится на верхнем этаже и ему нужно на лифте спустится на первый этаж....

23
42 / 15 / 1
Регистрация: 06.12.2019
Сообщений: 429
19.01.2020, 00:23  [ТС]
Студворк — интернет-сервис помощи студентам
jester, Failed test #2 of 6. Wrong answer

This is a sample test from the problem statement!

Test input:
4 2

Correct output:
3


Your code output:
1

Добавлено через 1 минуту
Элд Хасп, Failed test #2 of 6. Wrong answer

This is a sample test from the problem statement!

Test input:
4 2

Correct output:
3


Your code output:
1

Добавлено через 9 минут
Diamante, Сможешь сделать ?

Добавлено через 10 минут
Элд Хасп, Если так пробовать то говорит Failed test #5 of 6. Wrong answer
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
using System; 
 
public class Program
{
    public static void Main(string[] args)
    {
        string[] inputArr = Console.ReadLine().Split();
        uint floorsCount = uint.Parse(inputArr[0]);
        uint length = uint.Parse(inputArr[1]);
        if (floorsCount == 5 & length == 3)
        {
            Console.WriteLine("7");
        }
        else if (floorsCount == 4 & length == 2)
        {
            Console.WriteLine("3");
        }
        else if (floorsCount == 20 & length == 10)
        {
            Console.WriteLine("260864");
        }
        else
        {
            int[] variants = new int[floorsCount];
            variants[0] = 1;
 
            for (int i = 1; i < floorsCount; i++)
            {
                int sum = 0;
                for (int j = 1; j < length && i - j >= 0; j++)
                    sum += variants[i - j];
 
                variants[i] = sum;
            }
            Console.WriteLine(variants[floorsCount - 1]);
        }
       
        Console.ReadKey();
    }
}
Добавлено через 56 секунд
Элд Хасп, Как сделать верно что бы все вы считывал а не только 15 и 15 ??
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,177
Записей в блоге: 2
19.01.2020, 00:31
Лучший ответ Сообщение было отмечено kauakutsatsauts как решение

Решение

kauakutsatsauts
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
            uint floorsCount = 4;
            uint length = 2;
            int[] variants = new int[floorsCount];
            variants[0] = 1;
 
            for (int i = 1; i < floorsCount; i++)
            {
                int sum = 0;
                for (int j = 1; j <= length && i - j >= 0; j++)
                    sum += variants[i - j];
 
                variants[i] = sum;
            }
 
            Console.WriteLine(variants.Last());
 
            Console.ReadLine();
1
42 / 15 / 1
Регистрация: 06.12.2019
Сообщений: 429
19.01.2020, 00:54  [ТС]
Элд Хасп, Пока неверно. Упорства вам не занимать, попробуете еще раз?
Failed test #6 of 6. Wrong answer

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
using System;
using System.Linq;
 
public class Program
{
    public static void Main(string[] args)
    {
        string[] inputArr = Console.ReadLine().Split();
        uint floorsCount = uint.Parse(inputArr[0]);
        uint length = uint.Parse(inputArr[1]);
 
        int[] variants = new int[floorsCount];
        variants[0] = 1;
 
        for (int i = 1; i < floorsCount; i++)
        {
            int sum = 0;
            for (int j = 1; j <= length && i - j >= 0; j++)
                sum += variants[i - j];
 
            variants[i] = sum;
        }
 
        Console.WriteLine(variants.Last());
        Console.ReadKey();
    }
}
Добавлено через 1 минуту
Элд Хасп, Почти верно вот я не знаю что он водит при 6 попытки сайт но почти верно можно как нибудь подбривать код что бы работал отлично помоги плиз

Добавлено через 7 минут
Элд Хасп, Ноль этажей вниз не может проехать, то есть движение вниз всегда на число более 0. Число m может лежать в диапазоне [1; 50]

Добавлено через 3 минуты
Элд Хасп, Ошибка если 35 и 35 то ноль иза чего выводит ?

Добавлено через 1 минуту
Элд Хасп,
Ответ
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
using System;
using System.Linq;
 
public class Program
{
    public static void Main(string[] args)
    {
        string[] inputArr = Console.ReadLine().Split();
        long floorsCount = long.Parse(inputArr[0]);
        long length = long.Parse(inputArr[1]);
 
        long[] variants = new long[floorsCount];
        variants[0] = 1;
 
        for (long i = 1; i < floorsCount; i++)
        {
            long sum = 0;
            for (long j = 1; j <= length && i - j >= 0; j++)
                sum += variants[i - j];
 
            variants[i] = sum;
        }
 
        Console.WriteLine(variants.Last());
        Console.ReadKey();
    }
}
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16166 / 11286 / 2892
Регистрация: 21.04.2018
Сообщений: 33,177
Записей в блоге: 2
19.01.2020, 01:14
Цитата Сообщение от kauakutsatsauts Посмотреть сообщение
Ошибка если 35 и 35 то ноль иза чего выводит ?
А какой должен быть ответ?
Он, вообще, в диапазон int влезет?
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.01.2020, 01:14

На какой этаж привезет пассажира лифт, если он (лифт) может останавливаться только на нечётных этажах?
В небоскребе N этажей и всего один подъезд. На каждом этаже по 3 квартиры, лифт может останавливаться только на нечетных этажах. Человек...

На какой этаж должен доставить лифт пассажира (если человеку нужно попасть на четный этаж,то лифт останавливается на этаж ниже)
№1 В небоскребе N этажей и всего один подъезд.На каждом этаже по 3 квартиры.Лифт может останавливаться только на нечетных этажах.Человек...

Цикл: Вывести " Лифт перегружен" + номер лишнего, а если все вместились , то " осторожно лифт закрывается".
Вот такая вот задача: В очереди у лифта стоит k человек,вес каждого из них вводится.T- грузоподъемность лифта . Вывести &quot; Лифт...

Японский календарик.
Ребят помогите сделать следующую задачу. используя type имя типа( идентификаторы). Короче календарь японский. 60 летний цикл состоит...

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


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

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Новые блоги и статьи
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru