BlackPupils
23.04.2021 08:27

Циклы в Python: 1. Последовательность из латинских букв строится следующим образом. На первом шаге она пуста. На каждом последующем шаге последовательность удваивается, после чего к ней слева дописывается очередная буква латинского алфавита (а, b, с, ...). Ниже приведены первые шаги построения последовательности:
Шаг 1. пустая последовательность
Шаг 2. а
Шаг 3. baa
Шаг 4. cbaabaa
Шаг 5. dcbaabaacbaabaa
...
Задача состоит в том, чтобы по заданному числу N (1 <= N < 226) определить символ, который стоит на N-ом месте в последовательности, получившейся после 27-го шага (символы отсчитываются слева направо).
В качестве ответа укажите символ, стоящий в позиции N получившейся последовательности.

2. Имеются три пробирки. Вместимость каждой из них — 100 миллилитров. На двух пробирках из трех нанесены одинаковые риски (метки). Третья пробирка — без рисок. Возле каждой риски надписано целое число миллилитров, которое вмещается в пробирку от дна до этой риски.
Изначально одна из пробирок с рисками наполнена 100 миллилитрами кваса, а остальные две — пустые. Требуется написать программу, которая выясняет, можно ли поместить в пробирку без рисок один миллилитр кваса, и если да, то находит минимально необходимое для этого число переливаний. Квас можно переливать из одной пробирки в другую до тех пор, пока либо первая из них не станет пустой, либо одна из пробирок не окажется заполненной до какой-либо риски.
Технические требования:
1. Число рисок не более 10.
2. Риски считаются упорядоченными по возрастанию: V1 < V2 < ... < Vn. Последняя риска считается сделанной на верхнем крае пробирки (Vn = 100).
Исходные данные корректны и их проверка не требуется.
Пример работы правильной программы
Введите число рисок 4
Введите 1-ую риску 13
Введите 2-ую риску 19
Введите 3-ую риску 27
4-я риска принимает значение 100.
Для получения 1 миллилитра необходимо 4 переливания.
Введите число рисок 2
Введите 1-ую риску 10
2-я риска принимает значение 100.
1 миллилитр получить невозможно.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
Qwerrgggggg
11.07.2022 11:05

using System;

using System.Collections.Generic;

using System.Linq;

namespace Prog

{

   class Program

   {

       static void Main(string[] args)

       {

           List<double> array = new List<double>() { 7, 25, 4.5, 0, 17, 61, -10, 0, 1, -4, 22 };

           // TASK 5

           int positive, negative, zero;

           var tmp = array.FindAll(x => x > 0);

           positive = tmp.Count;

           tmp = array.FindAll(x => x == 0);

           zero = tmp.Count;

           negative = array.Count - zero - positive;

           Console.WriteLine($"Кол-во полож. элементов: {positive}\n\rКол-во нулевых элементов: {zero}\n\rКол-во отриц. элементов: {negative}");

           // TASK 6  

           double prv = 1;

           for (int i = 0; i < array.Count; ++i)

           {

               if (array[i] != 0)

               {

                   prv *= array[i];

               }

           }

           Console.WriteLine($"Произведение ненулевых элементов равно: {prv}");

           Console.ReadKey();

       }

   }

}

Объяснение:

0,0(0 оценок)
Ответ:
valentinateleg2607
27.11.2020 12:53

8D

Объяснение:

1) Решение по простому. Шестнадцатиричная система это 4 бита на один знак. У нас двоичная запись 10001101. Всего 8 бит. Значит младшие 4 бита это младшее шестнадцатиричное число, а старшие 4 бита это старшее число. Смотрим на первые 4 бита 1101 это 1*2^{0}+0*2^{1}+1*2^{2}+1*2^{3}=1*1+0*2+1*4+1*8=1+4+8=13(в десятичной)=D (A-10, B-11, C-12, D-13 в 16-ричной).

Смотрим на старшую четверку битов 1000=0*2^{0}+0*2^{1}+0*2^{2}+1*2^{3}=0+0+0+8=8.

Пишем старшую цифре потом младшую 8D.

2)Теперь решение как нужно делать правильно (для любого основания). 10001101=1*2^{0}+0*2^{1}+1*2^{2}+1*2^{3}+0*2^{4}+0*2^{5}+0*2^{6}+1*2^{7}=1*1+0*2+1*4+1*8+0*16+0*32+0*64+1*128=1+4+8+128=141 (это перевели в десятичную). Затем переводим в нужную нам 16-ричную (это основание 16 значит будем делить на 16). 141/16= 8,8125. Мы получили целую часть от деления - цифра 8. Она у нас будет старшей (если при первом делении получилось число больше основания т.е.16 нужно его еще разделить). Умножим 8 на основание и вычтим это число из первоначального. 141-8*16=141-128=13. Мы получили младший разряд. Переводим 13 в 16-ричную (как показал ранее А-10 и т.д.). Получили ответ 8D

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