Сначала задача должна быть решена геометрически. Очевидно, что круг войдет в прямоугольник если его диаметр 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.
Следующее число, большее 125₁₀, равно 126₁₀ или 1111110₂ Посмотрим, может ли оно получиться по заданному алгоритму. На шаге 2а определяется "бит четности" путем подсчета количества единиц в двоичной записи числа. Если оно четно, к записи числа справа дописывается 0, если нечетно - единица. На шаге 2б повторяются действия предыдущего шага. Отбросим две правые цифры в записи 1111110₂ и посмотрим, как на получившемся числе работает предложенный алгоритм. 1111110 ⇒ 11111, число единиц нечетное, дописываем 1, получаем 111111, теперь число единиц четное, дописываем 0 и получаем 1111110, т.е. как раз то число, которое у нас было при переводе 126 в двоичную систему счисления. А исходное число - это 11111₂ = 31₁₀ ответ: 31
for i in range(1, 10):
print(i ** 2, i ** 3)
Объяснение: