gulzat2110
07.10.2022 06:52

Python. Напишите программу для решения следующей задачи. Камера наблюдения регистрирует в автоматическом режиме скорость проезжающих мимо неё автомобилей, округляя значения скорости до целых чисел. Необходимо определить количество автомобилей, скорость которых не превышала 30 км/ч.

Программа получает на вход число проехавших автомобилей N (1 ≤ N ≤ 30), затем указываются их скорости. Значение скорости не может быть меньше 1 и больше 300. Программа должна сначала вывести количество автомобилей, скорость которых не превышала 30 км/ч.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
ujiuyh
18.05.2021 16:21

1) сначала переведём

1*2^5+0*2^4+1*2^3+1*2^2+0*2^1+1*2^0 = 45 ( в десятой СС)  // ^это степень , тобишь разряд умножаем на 2 в степени разряда

1*2^5+1*2^4+0*2^3+0*2^2+1*2^1+0*2^0=50( в десятичной СС)

2) принадлежат интервалу = 45+46+47+48+49+50=285

3) переведём в двоичную СС

285/2 = 142, остаток: 1

142/2 = 71, остаток: 0

71/2 = 35, остаток: 1

35/2 = 17, остаток: 1

17/2 = 8, остаток: 1

8/2 = 4, остаток: 0

4/2 = 2, остаток: 0

2/2 = 1, остаток: 0

1/2 = 0, остаток: 1

285 = 1000111012

ответ: а)45-50  б) 1000111012

0,0(0 оценок)
Ответ:
Zxcvbnm900
19.03.2021 10:13
PascalABC.NET 3.4.2, сборка 1864 от 11.11.2018Внимание! Если программа не работает, обновите версию!

begin

 var s := ReadlnString;

 var s1 := s.Where(t -> t in ['0'..'9']).Sorted.GroupBy(t -> t)

     .Select(c -> (c.Key, c.Count)).OrderBy(t -> t[0]).ToArray;

 var s2 := s1.Where(t -> t[1] > 1).Select(t -> t[0] * (t[1] div 2))

     .JoinIntoString('').Replace('0', '');

 var s3 := s1.Where(t -> t[1] = 1);

 if s3.Count > 0 then s2 := s2 + s3.Select(t -> t[0]).First + s2.Inverse

 else s2 := s2 + s2.Inverse;

 s2.Println

end.

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