ezdar04
28.10.2020 08:19

Люди ПАМАГИТЕ! В доме Вилли установили скоростной лифт новой экспериментальной модели. В этом лифте кнопки с номерами этажей заменены двумя другими кнопками. При нажатии на первую кнопку лифт поднимается на один этаж вверх, а при нажатии на вторую — опускается на один этаж вниз.

Младшему брату Вилли Дилли очень нравится кататься на новом лифте. Он катается на нём до тех пор, пока не побывает на каждом из этажей хотя бы по одному разу. После этого Дилли довольный возвращается домой.

Зная порядок, в котором Дилли нажимал на кнопки лифта, попробуйте определить общее количество этажей в доме Вилли и Дилли, т. е. напишите соответствующую программу.

Входные данные

Единственная вводимая строка содержит последовательность нажатий на кнопки лифта. Символ «1» означает, что была нажата первая кнопка, а символ «2» — что была нажата вторая кнопка. Символы «1» и «2» не разделены пробелами. Количество нажатий — от 1 до 100. Гарантируется, что лифт никогда не опускался ниже первого и не поднимался выше последнего этажа.

Выходные данные

Программа должна вывести одно число — количество этажей в доме Вилли и Дилли.

пишу на питоне:

s = [input()]
a = list(str( s))
for s in range(len(a)):
a[i] = int(a[i])
print(a)
pos = 0
minpos = 0
maxpos = 0
i =1
for i in str(len(s)):
if s == "1":
pos += 1
elif s =="2":
pos -= 1
if pos > maxpos:
maxpos == pos
if pos < minpos:
minpos == pos
print(maxpos-minpos+1)

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Бота157
02.09.2020 22:29

Так как целевой яп не указан написал на С#. Пример работы на рисунке 1.

Условия выделены комментариями внутри кода!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;


namespace Etazhi

{

   class Program

   {

       static void Main(string[] args)

       {

           const int ET = 9, KV = 4; //Константы


           int N;

           Console.Write("Введите номер квартиры: ");

           if (!int.TryParse(Console.ReadLine(), out N) || N < 1)

           {

               Console.WriteLine("Некорретный ввод");

               return;

           }


           //Условия [Начало]

           int iTop = N / KV + ((N % KV > 0) ? 1 : 0);

           int Npd = (iTop-1) / ET + 1;

           int Net = (iTop-1) % ET + 1;

           //Условия [Конец]


           Console.WriteLine("В {0}-этажном доме, где на каждом этаже по {1} квартиры, \nквартира №{2} будет располагаться в {3} подъезде на {4} этаже", ET, KV, N, Npd, Net);

       }

   }

}



Определите номер подъезда и этажа девятиэтажного дома, если на каждом этаже по 4 квартиры и известен
0,0(0 оценок)
Ответ:
Messi171
21.06.2022 03:24

Так как целевой язык программирования не указан, написал на C#.

В главном методе есть две переменные A и B, над которыми производнятся вычисления, а также метод IntToNaturalString(), преобразующий число в его строковую запись на русском языке.

Результат работы на рисутке 1.

Код:

using System;

using System.Collections;

using System.Collections.Generic;

using System.Linq;

using System.Text;


namespace FindPairs

{

   class Program

   {

       static void Main(string[] args)

       {

           //*Введи свои значения здесь!*//

           int A = 46524;

           int B = 7353;


           int res = Math.Abs(A - B);

           Console.WriteLine("Исходная запись результата |{0}-{1}| = {2},", A, B, res);

           Console.WriteLine("что на русском языке звучит как \"{0}\".", IntToNaturalString(res));

       }



       static string IntToNaturalString(int number, string sep = " ")

       {

           return IntToNaturalString(number.ToString());

       }

       static string IntToNaturalString(string number, string sep = " ")

       {

           string result = "";

           if (number.Length > 3)

           {

               string[] numbersClassNames = { "", "тысяч", "миллионов", "биллионов", "триллионов", "квадрилионов", "квинтиллионов" };

               int K = number.Length / 3, D = number.Length % 3;

               if (D > 0)

                   result += (IntToNaturalString(number.Substring(0, D)) + " " + numbersClassNames[K] + sep);

               for (int i = 0; i < K; i++)

               {

                   result += (IntToNaturalString(number.Substring(D+3*i, 3)) + " " + numbersClassNames[K - 1 - i] + sep);

               }

           }

           else

           {

               string[] hangred = { "", "сто", "двести", "триста", "четыреста", "пятьсот", "шестьсот", "семьсот", "восемьсот", "девятьсот" };

               string[] decades = { "", "десять", "двадцать", "тридцать", "сорок", "пятьдесят", "шестьдесят", "семьдесят", "восемьдесят", "девяносто" };

               string[] ones    = { "", "один", "два", "три", "четыре", "пять", "шесть", "семь", "восемь", "девять" };

               string[] chst    = { "одиннадцать", "двенадцать", "тринадцать", "четырнадцать", "пятнадцать", "шестрадцать", "восемнадцать", "девятнадцать" };


               number = RightFillZeros(number);

               int H = int.Parse(number[0].ToString());

               int D = int.Parse(number[1].ToString());

               int O = int.Parse(number[2].ToString());


               result = hangred[H] + " ";

               if (D == 1 && O != 0)

                   result += chst[O];

               else

                   result += decades[D] + " " + ones[O];

           }

           return result;

       }

       static string RightFillZeros(string number, int N = 3)

       {

           if (number.Length < N)

           {

               number  = new string('0', N - number.Length) + number;

           }

           return number;

       }

   }

}


Даны две цифры в десятичной системе счисления. напишите программу, которая выводит название на языке
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота