В
Все
М
Математика
О
ОБЖ
У
Українська мова
Х
Химия
Д
Другие предметы
Н
Немецкий язык
Б
Беларуская мова
М
Музыка
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
У
Українська література
Р
Русский язык
Ф
Французский язык
П
Психология
О
Обществознание
А
Алгебра
М
МХК
Г
География
И
Информатика
П
Право
А
Английский язык
Г
Геометрия
Қ
Қазақ тiлi
Л
Литература
И
История
irasemenova1
irasemenova1
30.10.2022 04:29 •  Информатика

Вывести все десятичные числа A(где А больше 100, но меньше 500), в двоичной записи которых число единиц превосходит число нулей. Написать алгоритм программы и решить задачу.

Показать ответ
Ответ:
baltan1978
baltan1978
06.06.2022 17:10
Сначала задача должна быть решена геометрически. Очевидно, что круг войдет в прямоугольник если его диаметр D будет меньше, чем меньшая из сторон этого прямоугольника min(a,b). Вот и все решение.

По этому решению составляем алгоритм:
1. Ввести a, b, D
2. Найти m - минимум (a,b)
3. Если D<m, то вывести сообщение "Войдет", иначе вывести сообщение "Не войдет".
4. Завершить работу.

Осталось написать программу.

1. Современное решение

// PascalABC.NET 3.3, сборка 1611 от 06.01.2018
// Внимание! Если программа не работает, обновите версию!

begin
  var (a,b,d):=ReadReal3('Введите через пробел a,b,D:');
  var m:=Min(a,b);
  if D<m then Writeln('Войдет')
  else Writeln('Не войдет')
end.

Пример
Введите через пробел a,b,D: 14.5 11 10.6
Войдет

2. "Школьный" вариант - так писали наши отцы и деды

var
  a,b,D,m:real;

begin
  Write('Введите через пробел a,b,D: ');
  Read(a,b,d);
  if a<b then m:=a
  else m:=b;
  if D<m then Writeln('Войдет')
  else Writeln('Не войдет')
end.
0,0(0 оценок)
Ответ:
rot3
rot3
29.05.2023 23:13
Приведём вычисляемое выражение к более удобному виду:
9^22 + 3^66 – 18 = 9^22 + 9^(66/2) – 18 = 9^33 + 9^22 - 18

Далее переведём некоторые числа в третичную систему:
9-10 = 100-3
18-10 = 200-3

[1] Заметим, что число 9^n при n > 0 является круглым в третичной системе и двойки в нём содержаться не будет.

Рассмотрим выражение: 9^(n+m) + 9^n - 18
Вычислим это выражение для m=1 и n от 2 до 8, получится следующее:

n=2: K=1 : R=1002100
n=3: K=3 : R=100222100
n=4: K=5 : R=10022222100
n=5: K=7 : R=1002222222100
n=6: K=9 : R=100222222222100
n=7: K=11 : R=10022222222222100
n=8: K=13 : R=1002222222222222100

где n - степень; R - результат в третичной системе; K - кол-во двоек в R;

Из утверждения [1] и на основе полученных выше результатах видно, что слагаемое 9^(n+m) при m >= 1 на кол-во двоек в результате R никогда влиять не будет, поэтому его можно опустить.
(т.е. в нашем случае 9^33 отбрасываем)

Также в полученых выше результатах на основе анализа зависимости K от n для 9^n - 18 выводится следущая формула:
[2] K(n) = (n - 1) * 2 - 1

Подставляя число 22 в формулу [2], получаем: K(22) = (22 - 1) * 2 - 1 = 41;

ответ: в выражении 9^22 + 3^66 – 18 в третичной системе будет содержаться 41 двойка.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота