Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
6 / 6 / 3
Регистрация: 14.10.2014
Сообщений: 85
.NET 3.x

Подсчитать число лесенок, которое можно построить из N кубиков

29.10.2014, 11:43. Показов 3133. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Лимит времени 2000/4000/4000/4000 мс. Лимит памяти 65000/65000/65000/65000 Кб.

Лесенкой называется набор кубиков в один или несколько слоёв, в котором каждый более верхний слой содержит кубиков меньше, чем нижний.

Подсчитать число лесенок, которое можно построить из N кубиков.

Ввод
На входе записано число N (1 ≤ N ≤ 100).
Вывод
Вывести искомое число лесенок.

Ввод 1 - 3_____Ввод 2 - 8
Вывод 1 - 2____Вывод 2 - 6.

Я пробовал... Но не идет у меня... Не могу пару аспектов просчитать.
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace asddddd
{
    class Program
    {
        static void Main(string[] args)
        {
            
                int x = int.Parse(Console.ReadLine());
                int y = x, z=x,kk=x;
 
                if (x >= 1 && x <= 100)
                {
                    int count = 0, vivod=0, vod=0;
                    for (int i = 0; x > i; i++)
                    {
                        x -= i;
                        if (x > i)
                        {
                            count += 1;
                        }
                    }
                    int [,] body = new int [count,y];
                    for (int i = 0, j = 0; j < y; j++)
                        body[i, j] = 1;
                    for (int i = 0; i < count - 1; i++)
                    {
                        for (int j = 0, k = z - 1; j < (count + x - vod); j++, k--)
                        {
                            body[i, j] = 0;
                            body[i + 1, k] = 1;
                            vivod += 1;
                        }
                        x -= x;
                        vod += 1;
                    }
 
                            Console.WriteLine(vivod);
                        Console.ReadKey();
                }
        }
    }
}
и так пробовал... но мозга на эту тему немного не хватает.. поэтому и не идет(
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
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
 
namespace asddddd
{
    class Program
    {
        static void Main(string[] args)
        {
            
                int x = int.Parse(Console.ReadLine());
                int y = x, z=x;
                if (x >= 1 && x <= 100)
                {
                    int count = 0, vivod=0;
                    for (int i = 0; x > i; i++)
                    {
                        x -= i;
                        if (x > i)
                        {
                            count += 1;
                        }
                    }
                    int [,] body = new int [count,y];
                    for (int i = count - 1, j = 0; j < y; j++)
                        body[i, j] = 1;
                   
                        for(int i=count -1;i>0;i--)
                            for (int j=y-1, k=0; j>z-count; j--, k++)
                            {
                                body[i, j] = 0;
                                body[i-1, k] = 1;
                                vivod += 1;
                            }
 
                        Console.WriteLine(vivod);
                }
        }
    }
}
Помогите, кто чем может, пожалуйста.

Добавлено через 1 минуту
надо посчитать количество всевозможных конфигураций из кубиков
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.10.2014, 11:43
Ответы с готовыми решениями:

Подсчитать число лесенок, которое можно построить из N кубиков
Лесенкой называется набор кубиков в один или несколько слоёв, в котором каждый более верхний слой содержит кубиков меньше, чем нижний. ...

Подсчитать число лесенок, которое можно построить из N кубиков
Помогите решить плз Задача &quot;Лесенки&quot; Лесенкой называется набор кубиков, в котором каждый более верхний слой содержит кубиков...

Вычислить число лесенок, которое можно построить из N кубиков
Объясните пожалуйста решение 16 задачи acmp . ru: Я нашёл только программу, а решение не понял. #include &lt;iostream&gt; ...

5
7 / 7 / 3
Регистрация: 19.10.2014
Сообщений: 92
29.10.2014, 11:54
qwerty100, аналогичная тема - Вывести количество всех возможных вариантов вывода числа в виде "ступеньки"
Сначала поищите, а потом заводите Вашу тему.
0
6 / 6 / 3
Регистрация: 14.10.2014
Сообщений: 85
29.10.2014, 12:04  [ТС]
я бы с радостью... но я не понял в той теме ничего(

Добавлено через 3 минуты
Superbeginner, Можете мне подсказать, как вы решили даную задачу, еслы вы её поняли?
0
7 / 7 / 3
Регистрация: 19.10.2014
Сообщений: 92
29.10.2014, 12:56
qwerty100, пока что не решил, но Ваша программа может быть упрощена. Имхо, тут должно быть совсем примитивное решение, отпишусь, если выйдет .
0
12 / 4 / 2
Регистрация: 27.10.2014
Сообщений: 21
30.10.2014, 01:09
Я в общем написал, что и как можно сделать в этой задаче, посмотрите: Вывести количество всех возможных вариантов вывода числа в виде "ступеньки"
0
 Аватар для ReM
4 / 4 / 0
Регистрация: 18.09.2008
Сообщений: 47
30.10.2014, 13:08
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
            Console.WriteLine("Введите число кубиков");
            int nKub = int.Parse(Console.ReadLine());
            int nLine = 0;
            bool newLine = true;
            if (nKub>=1)
                while (newLine)
                {
                    if (nKub > nLine)
                    {
                        nLine++;
                        nKub -= nLine;
                    }
                    else
                        newLine = false;
                }
 
            Console.WriteLine("Кол-во ступенек = {0}", nLine);
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.10.2014, 13:08
Помогаю со студенческими работами здесь

Вычислить число лесенок, которое можно построить из N кубиков
Помогите пожалуйста решить задачку!!! Лесенкой называется набор кубиков, в котором каждый более верхний слой содержит кубиков меньше, чем...

Лесенка. Вычислить число лесенок, которое можно построить из N кубиков
Лесенкой называется набор кубиков, в котором каждый более верхний слой содержит кубиков меньше, чем предыдущий. Требуется написать...

Рекурсия: вычислить количество лесенок, которое можно построить из N кубиков
Здраствуйте! У меня есть одна классическая задачка про Лесенку. Лесенка Лесенкой называется набор кубиков, в котором каждый более...

Подсчитать количество различных лесенок, которые могут быть построены из N кубиков
Здравствуйте. Столкнулся с такой задачей: Лесенкой называется набор кубиков, в котором каждый горизонтальный слой содержит меньше кубиков,...

Сколько можно построить лестниц из кубиков?
http://acm.timus.ru/problem.aspx?space=1&amp;num=1017 Вот такой вот код, рабочий, но все же гавнокод Вместо динамического программирования...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru