Напишите программу которая определяет наименьшее из четырех чисел
Перейти к содержимому

Напишите программу которая определяет наименьшее из четырех чисел

  • автор:

Напишите программу которая определяет наименьшее из четырех чисел

Скачай курс
в приложении

Перейти в приложение
Открыть мобильную версию сайта

© 2013 — 2024. Stepik

Наши условия использования и конфиденциальности

Get it on Google Play

Public user contributions licensed under cc-wiki license with attribution required

Программирование на языке Python

Программирование на языке Python

Программирование на языке Python
Логические выражения и операторы сравнения. Логический
оператор
Программирование выражений и функций в линейных
алгоритмах на языке Python
Программирование алгоритмов ветвления на языке Python
Программирование циклических алгоритмов на языке
программирования Python

2.

Арифметические операторы в Python
Арифметические операторы используются с числовыми значениями для выполнения
общих математических операций:
Оператор
Значение
Пример
+
добавление
4+5

вычитание
8-3
*
умножение
5*5
/
деление
4/2
%
остаток от деления
7%2
**
возведение в
степень
2 ** 3
//
целочисленное
деление
15 // 4

3.

Операторы
присваивания
в Python
Операторы
присваивания
используются
для
присваивания
значений
переменным:
Оператор
Пример
Так же как
=
x=5
x=5
+=
x += 3
x=x+3
-=
x -= 3
x=x-3
*=
x *= 3
x=x*3
/=
x /= 3
x=x/3
%=
x %= 3
x=x%3
//=
x //= 3
x = x // 3
**=
x **= 3
x = x ** 3
&=
x &= 3
x=x&3
|=
x |= 3
x=x|3

4.

Операторы сравнения в Python
Операторы сравнения используются для сравнения двух значений:
Оператор
Значение
Пример
==
равно
x == y
!=
не равно
x != y
>
больше чем
x>y
меньше чем
x >=
больше чем или
равно
x >= y
меньше чем или
равно
x

5.

Логические операторы в Python
Логические операторы
операторов:
Оператор
используются
для
Значение
объединения
условных
Пример
and
Возвращает значение True
если оба утверждения
верны
x < 5 and x < 10
or
Возвращает True если
одно из утверждений
верно
x < 5 or x < 4
not
Меняет результат,
возвращает False если
результат True
not(x < 5 and x < 10)

6.

Напишите программу, которая выводит на экран
текст «I***like***Python» (без кавычек).
print («I», «like», «Python», sep=»***»)
Результат:
I***like***Python
sep — это может быть строка, которую необходимо
вставлять между значениями, по умолчанию —
пробел.

7.

Сумма трёх чисел
Напишите программу, которая считывает три целых числа и выводит на
экран их сумму. Каждое число записано в отдельной строке.
a = int(input())
a += int(input())
a += int(input())
print(a)
Результат:
1
2
3
6

8.

Следующее и предыдущее
Напишите программу, которая считывает целое число, после чего на экран
выводится следующее и предыдущее целое число с пояснительным текстом.
a = int(input())
print(‘Следующее за числом’, a, ‘число:’, a+1)
print(‘Для числа’, a, ‘предыдущее число:’, a-1)
Результат:
10
Следующее за числом 10 число: 11
Для числа 10 предыдущее число: 9

9.

Разделяй и властвуй
Напишите программу, которая считывает целое положительное число xx и выводит
на экран последовательность чисел x, 2x, 3x, 4x, 5x, разделённых тремя
черточками.
a = int(input())
print(a, a*2, a*3, a*4, a*5, sep=’-‘*3)
Результат:
10
10—20—30—40—50

10.

Расстояние в метрах
Напишите программу, которая находит полное число метров по заданному числу
сантиметров.
a = int(input())
print(a//100)
Результат:
1050
10

11.

Сама неотвратимость
Безумный титан Танос собрал все 6 камней бесконечности и намеревается
уничтожить половину населения Вселенной по щелчку пальцев. При этом если
население Вселенной является нечетным числом, то титан проявит милосердие и
округлит количество выживших в большую сторону. Помогите Мстителям
подсчитать количество выживших.
a = int(input())
print(a // 2 + a % 2)
Результат:
1015
508

12.

Пересчет временного интервала
Напишите программу для пересчёта величины временного интервала,
заданного в минутах, в величину, выраженную в часах и минутах.
a = int(input())
print(a, ‘мин — это’, a // 60, ‘час’, a % 60, ‘минут.’)
Результат:
90
90 мин — это 1 час 30 минут

13.

Трехзначное число
Напишите программу, в которой рассчитывается сумма и произведение цифр
положительного трёхзначного числа.
a = int(input())
a1 = a // 100
a2 = a % 100 // 10
a3 = a % 10
print(‘Сумма цифр =’, a1 + a2 + a3)
print(‘Произведение цифр =’, a1 * a2 * a3)
Результат:
132
Сумма цифр = 6 Произведение цифр = 6

14.

Трехзначное число — Альтернативное решение:
Напишите программу, в которой рассчитывается сумма и произведение цифр
положительного трёхзначного числа.
a = str(input())
print(‘Сумма цифр =’, int(a[0]) + int(a[1]) + int(a[2]))
print(‘Произведение цифр =’, int(a[0]) * int(a[1]) * int(a[2]))
Результат:
132
Сумма цифр = 6 Произведение цифр = 6

15.

Четырёхзначное число
Напишите программу для нахождения цифр четырёхзначного числа.
a = int(input())
print(«Цифра в позиции тысяч равна», a // 1000)
print(«Цифра в позиции сотен равна», a % 1000 // 100)
print(«Цифра в позиции десятков равна», a % 100 // 10)
print(«Цифра в позиции единиц равна», a % 10)
Результат:
1234
Сумма цифр = 6 Произведение цифр = 6

16.

Пароль
При регистрации на сайтах требуется вводить пароль дважды. Это сделано для
безопасности, поскольку такой подход уменьшает возможность неверного ввода
пароля.
Напишите программу, которая сравнивает пароль и его подтверждение. Если они
совпадают, то программа выводит: «Пароль принят», иначе: «Пароль не принят».
a = (input()) b = (input())
print(‘Пароль принят’) if a == b else
print(‘Пароль не принят’)
Результат:
123456
123456
Пароль принят

17.

Четное или нечетное?
Напишите программу, которая определяет, является число четным или нечетным
a = int(input())
print(‘Нечетное’) if a % 2 else print(‘Четное’)
Результат:
50
Четное

18.

Арифметическая прогрессия
Напишите программу, которая определяет, являются ли три заданных числа (в
указанном порядке) последовательными членами арифметической прогрессии.
a1 = int(input())
a2 = int(input())
a3 = int(input())
if a3 — a2 == a2 — a1:
print(‘YES’)
else:
print(‘NO’)
Результат:
1
2
3
YES

19.

Наименьшее из четырёх чисел
Напишите программу, которая определяет наименьшее из четырёх чисел.
a, b, c, d = int(input()), int(input()), int(input()), int(input())
if a > b:
a=b
if c > d:
Результат:
c=d
if a > c:
1
a=c
2
print(a)
3
4
1

20.

Наименьшее из четырёх чисел / Альтернативное решение:
Напишите программу, которая определяет наименьшее из четырёх чисел.
a1 = int(input())
a2 = int(input())
a3 = int(input())
a4 = int(input())
print(min(a1, a2, a3, a4))
Результат:
1
2
3
4
1

21.

Только +
Напишите программу, которая считывает три числа
и подсчитывает сумму только положительных чисел.
a = list()
a.append(int(input()))
a.append(int(input()))
a.append(int(input()))
s=0
for i in a:
if i >= 0:
s += I
print(s)
Результат:
1
2
-3
3
Что значит a append?
Добавляет указанный элемент в конец списка. x : Элемент, который
требуется добавить в список.

22.

Только + / Альтернативное решение:
Напишите программу, которая считывает три числа
и подсчитывает сумму только положительных чисел.
a, b, c = int(input()), int(input()), int(input())
print((a if a > 0 else 0) + (b if b > 0 else 0) + (c if c > 0 else 0))
Результат:
-2
-3
5
5

23.

Принадлежность 1
Напишите программу, которая принимает целое число x и
определяет, принадлежит ли данное число промежутку от -1 до 17.
a1 = int(input())
if a1 > -1 and a1 < 17:
print(‘Принадлежит’)
else:
print(‘Не принадлежит’)
Результат:
10
Принадлежит

24.

Принадлежность 2
Напишите программу, которая принимает целое число x и
определяет, принадлежит ли данное число указанным промежуткам:
от минус бесконечности до -3 и от 7 до бесконечности.
a1 = int(input())
print(‘Принадлежит’) if (a1 = 7) else print(‘Не принадлежит’)
Результат:
10
Принадлежит

25.

Принадлежность 3
Напишите программу, которая принимает целое число x и
определяет, принадлежит ли данное число указанным промежуткам:
от -30 до -2 и от 7 до 25.
x = int(input())
print(‘Принадлежит’) if (x > -30 and x 7 and x print(‘Не принадлежит’)
Результат:
10
Принадлежит

26.

Високосный год
Напишите программу, которая определяет, является ли год с данным
номером високосным. Если год является високосным, то выведите
«YES», иначе выведите «NO». Год является високосным, если его номер
кратен 4, но не кратен 100, или если он кратен 400.
a1 = int(input())
print(‘YES’) if ((a1 % 4 == 0) and not (a1 % 100 == 0)) or (a1 % 400 == 0) else print(‘NO’)
Результат:
2021
NO

27.

Ход ладьи
Даны две различные клетки шахматной доски.
Напишите программу, которая определяет, может ли ладья попасть с первой клетки
на вторую одним ходом. Программа получает на вход четыре числа от 1 до 8
каждое, задающие номер столбца и номер строки сначала для первой клетки, потом
для второй клетки. Программа должна вывести «YES», если из первой клетки ходом
ладьи можно попасть во вторую, или «NO» в противном случае.
a1 = int(input())
a2 = int(input())
a3 = int(input())
a4 = int(input())
print(‘YES’) if (a1 == a3) or (a2 == a4) else
print(‘NO’)
Результат:
1
1
2
1
YES

28.

Ход короля
Даны две различные клетки шахматной доски. Напишите программу, которая
определяет, может ли король попасть с первой клетки на вторую одним ходом.
Программа получает на вход четыре числа от 1 до 8 каждое, задающие номер
столбца и номер строки сначала для первой клетки, потом для второй клетки.
Программа должна вывести «YES», если из первой клетки ходом короля можно
попасть во вторую, или «NO» в противном случае.
a, b, c, d = (int(input()) for i in ‘abcd’)
if abs(a — c) print(‘YES’)
else:
print(‘NO’)
Результат:
1
1
2
2
YES

29.

Вид треугольника
Напишите программу, которая принимает три положительных числа и
определяет вид треугольника, длины сторон которого равны введенным
числам.
a1 = int(input())
a2 = int(input())
a3 = int(input())
if a1 == a2 == a3:
print(‘Равносторонний’)
elif a2 == a3 or a1 == a3 or a1 == a2:
print(‘Равнобедренный’)
else:
print(‘Разносторонний’)
Результат:
1
3
2
Разносторонний

30.

Самописный калькулятор
Напишите программу, которая считывает с клавиатуры два целых числа и
строку. Если эта строка является обозначением одной из четырёх математических
операций (+, -, *, /), то выведите результат применения этой операции к введённым
ранее числам, в противном случае выведите «Неверная операция». Если
пользователь захочет поделить на ноль, выведите текст «На ноль делить нельзя!».
a1 = int(input())
a2 = int(input())
a3 = input()
if a3 == ‘/’ and a2 == 0:
print(‘На ноль делить нельзя!’)
elif a3 == ‘/’:
print(a1 / a2)
elif a3 == ‘+’:
print(a1 + a2)
elif a3 == ‘-‘:
print(a1 — a2)
elif a3 == ‘*’:
print(a1 * a2)
else:
print(‘Неверная операция’)
Результат
:
3
6
+
9

31.

Цикл for
В списке значений могут быть выражения различных типов:
for i in 1, 2, 3, ‘one’, ‘two’, ‘three’:
print(i)
i=1
for color in ‘red’, ‘orange’, ‘yellow’, ‘green’, ‘cyan’, ‘blue’, ‘violet’:
print(‘#’, i, ‘ color of rainbow is ‘, color, sep = ») i += 1
Результат:
1
2
3
one
two
three
Цикл for, также называемый циклом с параметром, в языке Питон богат
возможностями. В цикле for указывается переменная и множество значений,
по которому будет пробегать переменная. Множество значений может быть
задано списком, кортежем, строкой или диапазоном.

32.

Функция range
Как правило, циклы for используются либо для повторения какой-либо
последовательности действий заданное число раз, либо для изменения значения
переменной в цикле от некоторого начального значения до некоторого конечного.
Для повторения цикла некоторое заданное число раз n можно
использовать цикл for вместе с функцией range:
for i in range(4):
print(i)
print(i ** 2)
print(‘Конец цикла’)

33.

Цветовой микшер
Красный, синий и желтый называются основными цветами, потому что их
нельзя получить путем смешения других цветов.
При смешивании двух основных цветов получается вторичный цвет:
• если смешать красный и синий, то получится фиолетовый;
• если смешать красный и желтый, то получится оранжевый;
• если смешать синий и желтый, то получится зеленый.
Напишите программу, которая считывает названия двух основных цветов для
смешивания. Если пользователь вводит что-нибудь помимо названий
«красный», «синий» или «желтый», то программа должна вывести сообщение
об ошибке. В противном случае программа должна вывести название
вторичного цвета, который получится в результате.

34.

a1 = input()
a2 = input()
if a1 == ‘красный’:
if a2 == ‘красный’:
print(‘красный’)
elif a2 == ‘желтый’:
print(‘оранжевый’)
elif a2 == ‘синий’:
print(‘фиолетовый’)
elif a1 == ‘желтый’:
if a2 == ‘красный’:
Результат:
print(‘оранжевый’)
красный
elif a2 == ‘желтый’:
синий
print(‘желтый’)
elif a2 == ‘синий’:
фиолетовый
print(‘зеленый’)
elif a1 == ‘синий’:
if a2 == ‘красный’:
print(‘фиолетовый’)
elif a2 == ‘желтый’:
print(‘зеленый’)
elif a2 == ‘синий’:
print(‘синий’)
if a1 not in (‘синий’, ‘красный’, ‘желтый’) or a2 not in (‘синий’, ‘красный’, ‘желтый’):
print(‘ошибка цвета’)

Напишите программу которая определяет наименьшее из четырех чисел

Регистрация: 12.04.2013

Сообщений: 1

Необходимо, чтобы программа из 4 чисел выбирала наименьшее.

Нужно чтобы из 4х чисел, программа выбирала наименьшее.

Я просто не разбираюсь в этом( заранее спасибо за ответ

Форумчанин

Регистрация: 10.12.2011

Сообщений: 167

 class Program < static void Main(string[] args) < int[] mas = new int[4]; loop: try < for (int i = 0; i < 4; ++i) < Console.Write("Введите число: ", i + 1); mas[i] = Convert.ToInt32(Console.ReadLine()); > Console.WriteLine(); Console.WriteLine("Наименьшее число: ", mas.Min()); > catch( FormatException) < Console.WriteLine("Ошибка при вводе!"); goto loop; >Console.ReadKey(); > > >
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
найти наименьшее общее кратное трех чисел (Pascal) spone379 Помощь студентам 4 31.10.2012 18:23
Из 3 чисел выбать наименьшее и максимальное. С# sasha.gt Помощь студентам 0 09.04.2012 12:05
Паскаль. Необходимо найти наименьшее абсолютное значение Женька Good Помощь студентам 7 20.12.2011 22:57
Ближайшее и наименьшее к n из двух чисел turtles Общие вопросы по Java, Java SE, Kotlin 2 25.08.2011 16:19
программа считывающая пять целых чисел и определяющая, печатающая наибольшее и наименьшее число из них Syber Общие вопросы C/C++ 3 30.06.2008 22:39

Условная инструкция

Все ранее рассматриваемые программы имели линейную структуру: все инструкции выполнялись последовательно одна за одной, каждая записанная инструкция обязательно выполняется.

Допустим мы хотим по данному числу x определить его абсолютную величину (модуль). Программа должна напечатать значение переменной x, если x>0 или же величину -x в противном случае. Линейная структура программы нарушается: в зависимости от справедливости условия x>0 должна быть выведена одна или другая величина. Соответствующий фрагмент программы на Питоне имеет вид:

x = int(input()) if x > 0: print(x) else: print(-x)

В этой программе используется условная инструкция if (если). После слова if указывается проверяемое условие (x > 0) , завершающееся двоеточием. После этого идет блок (последовательность) инструкций, который будет выполнен, если условие истинно, в нашем примере это вывод на экран величины x . Затем идет слово else (иначе), также завершающееся двоеточием, и блок инструкций, который будет выполнен, если проверяемое условие неверно, в данном случае будет выведено значение -x .

Итак, условная инструкция в Питоне имеет следующий синтаксис:

if Условие: Блок инструкций 1 else: Блок инструкций 2 

Блок инструкций 1 будет выполнен, если Условие истинно. Если Условие ложно, будет выполнен Блок инструкций 2 .

В условной инструкции может отсутствовать слово else и последующий блок. Такая инструкция называется неполным ветвлением. Например, если дано число x и мы хотим заменить его на абсолютную величину x , то это можно сделать следующим образом:

if x < 0: x = -x print(x)

В этом примере переменной x будет присвоено значение -x , но только в том случае, когда x

Для выделения блока инструкций, относящихся к инструкции if или else в языке Питон используются отступы. Все инструкции, которые относятся к одному блоку, должны иметь равную величину отступа, то есть одинаковое число пробелов в начале строки. Рекомендуется использовать отступ в 4 пробела и не рекомедуется использовать в качестве отступа символ табуляции.

Это одно из существенных отличий синтаксиса Питона от синтаксиса большинства языков, в которых блоки выделяются специальными словами, например, нц. кц в Кумире, begin. end в Паскале или фигурными скобками в Си.

Вложенные условные инструкции

Внутри условных инструкций можно использовать любые инструкции языка Питон, в том числе и условную инструкцию. Получаем вложенное ветвление – после одной развилки в ходе исполнения программы появляется другая развилка. При этом вложенные блоки имеют больший размер отступа (например, 8 пробелов). Покажем это на примере программы, которая по данным ненулевым числам x и y определяет, в какой из четвертей координатной плоскости находится точка (x,y):

x = int(input()) y = int(input()) if x > 0: if y > 0: # x>0, y>0 print("Первая четверть") else: # x>0, y 0: # x0 print("Вторая четверть") else: # x

В этом примере мы использовали комментарии – текст, который интерпретатор игнорирует. Комментариями в Питоне является символ # и весь текст после этого символа до конца строки.

Операторы сравнения

Как правило, в качестве проверяемого условия используется результат вычисления одного из следующих операторов сравнения: < Меньше — условие верно, если первый операнд меньше второго.
> Больше — условие верно, если первый операнд больше второго.
>= Больше или равно.
== Равенство. Условие верно, если два операнда равны.
!= Неравенство. Условие верно, если два операнда неравны.

Операторы сравнения в Питоне можно объединять в цепочки (в отличии от большинства других языков программирования, где для этого нужно использовать логические связки), например, или .

Тип данных bool

Операторы сравнения возвращают значения специального логического типа bool . Значения логического типа могут принимать одно из двух значений: True (истина) или False (ложь). Если преобразовать логическое True к типу int , то получится 1, а преобразование False даст 0. При обратном преобразовании число 0 преобразуется в False , а любое ненулевое число в True . При преобразовании str в bool пустая строка преобразовывается в False , а любая непустая строка в True .

Логические операторы

Иногда нужно проверить одновременно не одно, а несколько условий. Например, проверить, является ли данное число четным можно при помощи условия (n % 2 == 0) (остаток от деления n на 2 равен 0 ), а если необходимо проверить, что два данных целых числа n и m являются четными, необходимо проверить справедливость обоих условий: n % 2 == 0 и m % 2 == 0 , для чего их необходимо объединить при помощи оператора and (логическое И): n % 2 == 0 and m % 2 == 0 .

В Питоне существуют стандартные логические операторы: логическое И, логическое ИЛИ, логическое отрицание.

является бинарным оператором (то есть оператором с двумя операндами: левым и правым) и имеет вид and . Оператор and возвращает True тогда и только тогда, когда оба его операнда имеют значение True .

является бинарным оператором и возвращает True тогда и только тогда, когда хотя бы один операнд равен True . Оператор “логическое ИЛИ” имеет вид or .

(отрицание) является унарным (то есть с одним операндом) оператором и имеет вид not , за которым следует единственный операнд. Логическое НЕ возвращает True , если операнд равен False и наоборот.

Пример. Проверим, что хотя бы одно из чисел a или b оканчивается на 0:

if a % 10 == 0 or b % 10 == 0:

Проверим, что число a — положительное, а b — неотрицательное:

if a > 0 and not (b < 0):

Или можно вместо not (b < 0) записать (b >= 0) .

Каскадные условные инструкции

Пример программы, определяющий четверть координатной плоскости, можно переписать используя “каскадную“ последовательность операцией if. elif. else :

x = int(input()) y = int(input()) if x > 0 and y > 0: print("Первая четверть") elif x > 0 and y < 0: print("Четвертая четверть") elif y >0: print("Вторая четверть") else: print("Третья четверть")

В такой конструкции условия if , . elif проверяются по очереди, выполняется блок, соответствующий первому из истинных условий. Если все проверяемые условия ложны, то выполняется блок else , если он присутствует.

Упражнения

A: Максимум двух чисел

Даны два целых числа. Выведите значение наибольшего из них.

B: Какое число больше?

Даны два целых числа. Программа должна вывести число 1, если первое число больше второго, число 2, если второе больше первого или число 0, если они равны.

Эту задачу желательно решить с использованием каскадных инструкций if. elif. else .

C: Знак числа

В математике функция sign(x) (знак числа) определена так:
sign(x) = 1 , если x > 0 ,
sign(x) = -1 , если x < 0 ,
sign(x) = 0 , если x = 0 .

Для данного числа x выведите значение sign(x) .

Эту задачу желательно решить с использованием каскадных инструкций if. elif. else .

D: Високосный год

Дано натуральное число. Требуется определить, является ли год с данным номером високосным. Если год является високосным, то выведите YES , иначе выведите NO . Напомним, что в соответствии с григорианским календарем, год является високосным, если его номер кратен 4, но не кратен 100, а также если он кратен 400.

2010

E: Максимум трех чисел

Даны три целых числа. Найдите наибольшее из них (программа должна вывести ровно одно целое число).

10
5
10

F: Существует ли треугольник?

Даны три натуральных числа a, b, c. Определите, существует ли треугольник с такими сторонами. Если треугольник существует, выведите строку YES , иначе выведите строку NO .

Треугольник — это три точки, не лежащие на одной прямой.

G: Сколько совпадает чисел

Даны три целых числа. Определите, сколько среди них совпадающих. Программа должна вывести одно из чисел: 3 (если все совпадают), 2 (если два совпадает) или 0 (если все числа различны).

10
5
10

H: Тестирующая система

Денис Павлович задал школьникам задачу: “Если данное четырехзначное число является симметричным, выведите 1, иначе выведите любое другое целое число”. Для проверки Денис Павлович использует заранее подготовленный набор тестов и правильных ответов к ним.

Ире кажется, что она решила эту задачу, но тестирующая система Ejudge почему-то не принимает ее решение. Ира думает, что это происходит оттого, что она выводит не то любое другое число, которое записано в ответах у Дениса Павловича.

Напишите программу, которая по ответу Дениса Павловича и по ответу Иры определяет, верно ли Ира решила задачу. Программа получает на вход два числа: ответ Дениса Павловича и ответ Иры. Программа должна вывести YES , если Ира дала верный ответ и NO в противном случае.

I: Ход ладьи

Шахматная ладья ходит по горизонтали или вертикали. Даны две различные клетки шахматной доски, определите, может ли ладья попасть с первой клетки на вторую одним ходом. Программа получает на вход четыре числа от 1 до 8 каждое, задающие номер столбца и номер строки сначала для первой клетки, потом для второй клетки. Программа должна вывести YES , если из первой клетки ходом ладьи можно попасть во вторую или NO в противном случае.

1
1
1
8
3
4
4
3

J: Ход короля

Решите аналогичную задачу для короля, который может ходить в клетку, которая является соседней с данной по стороне или углу.

1
1
2
2
1
1
3
3

K: Ход слона

Решите аналогичную задачу для слона, который ходит по диагонали.

1
1
8
8
1
1
1
2

L: Ход ферзя

Решите аналогичную задачу для ферзя, который ходит как ладья и слон (то есть по горизонтали, вертикали или диагонали).

1
1
8
8
1
1
2
3

M: Ход коня

Решите аналогичную задачу для коня, который ходит буквой “Г” — на две клетки по вертикали в любом направлении и на одну клетку по горизонтали, или наоборот.

1
1
2
3
1
1
3
3

N: Шахматная доска

Заданы две клетки шахматной доски. Если они покрашены в один цвет, то выведите слово YES , а если в разные цвета – то NO .

1
1
8
8
1
1
1
8

O: Шоколадка

Шоколадка имеет вид прямоугольника, разделенного на n×m долек. Шоколадку можно один раз разломить по прямой на две части. Определите, можно ли таким образом отломить от шоколадки ровно k долек.

Программа получает на вход три числа: n, m, k и должна вывести одно из двух слов: YES или NO .

P: Линейное уравнение

Даны числа \(a\) и \(b\). Решите в целых числах уравнение \(ax+b=0\). Выведите все решения этого уравнения, если их число конечно, выведите слово NO , если решений нет, выведите слово INF , если решений бесконечно много.

Q: Коровы

1 korova
2 korovy
5 korov

R: Яша плавает в бассейне

Яша плавал в бассейне размером \(N\times M\) метров и устал. В этот момент он обнаружил, что находится на расстоянии x метров от одного из длинных бортиков (не обязательно от ближайшего) и y метров от одного из коротких бортиков. Какое минимальное расстояние должен проплыть Яша, чтобы выбраться из бассейна на бортик?

Программа получает на вход числа \(N\), \(M\), \(x\), \(y\). Программа должна вывести число метров, которое нужно проплыть Яше до бортика.

10
25
7
8

S: Тип треугольника

Даны три стороны треугольника a, b, c. Определите тип треугольника с заданными сторонами. Выведите одно из четырех слов: rectangular для прямоугольного треугольника, acute для остроугольного треугольника, obtuse для тупоугольного треугольника или impossible , если треугольника с такими сторонами не существует.

acute
rectangular

T: Билеты на метро — 1

Давным-давно билет на одну поездку в метро стоил 15 рублей, билет на 10 поездок стоил 125 рублей, билет на 60 поездок стоил 440 рублей. Пассажир планирует совершить n поездок. Определите, сколько билетов каждого вида он должен приобрести, чтобы суммарное количество оплаченных поездок было не меньше n, а общая стоимость приобретенных билетов — минимальна.

Программа получает на вход одно число n и должна вывести три целых числа, равных необходимому количеству билетов на 1, на 10, на 60 поездок.

5 2 1
0 2 0

U: Билеты на метро — 2

Решите предыдущую задачу при наличии следующих билетов: 1 поездка — 15 рублей, 5 поездок — 70 рублей, 10 поездок — 125 рублей, 20 поездок — 230 рублей, 60 поездок — 440 рублей.

Программа получает на вход одно число n и должна вывести пять целых чисел: количество билетов на 1, 5, 10, 20, 60 поездок, которое необходимо приобрести. Если для какого-то данного n существует несколько способов приобретения билетов одинаковой суммарной стоимости, необходимо вывести ту комбинацию билетов, которая дает большее число поездок.

V: Узник замка Иф

За многие годы заточения узник замка Иф проделал в стене прямоугольное отверстие размером D×E. Замок Иф сложен из кирпичей, размером A×B×C. Определите, сможет ли узник выбрасывать кирпичи в море через это отверстие, если стороны кирпича должны быть параллельны сторонам отверстия.

Программа получает на вход числа A, B, C, D, E и должна вывести слово YES или NO .

2
1
3
2
2
1
2
3
1
1

W: Коробки

Есть две коробки, первая размером A1×B1×C1, вторая размером A2×B2×C2. Определите, можно ли разместить одну из этих коробок внутри другой, при условии, что поворачивать коробки можно только на 90 градусов вокруг ребер.

Программа получает на вход числа A1, B1, C1, A2, B2, C2. Программа должна вывести одну из следующих строчек:
Boxes are equal , если коробки одинаковые,
The first box is smaller than the second one , если первая коробка может быть положена во вторую,
The first box is larger than the second one , если вторая коробка может быть положена в первую,
Boxes are incomparable , во всех остальных случаях.

1
2
3
3
2
1
Boxes are equal
3
4
5
2
4
6
Boxes are incomparable

X: Складирование ноутбуков

На склад, который имеет форму прямоугольного параллелепипеда, привезли ноутбуки, упакованные в коробки. Каждая коробка также имеет форму прямоугольного параллелепипеда. По правилам хранения коробки с ноутбуками должны быть размещены на складе с выполнением следующих двух условий:
1. Стороны коробок должны быть параллельны сторонам склада.
2. Коробку при помещении на склад разрешается расположить где угодно (с выполнением предыдущего условия), в том числе на другой коробке, но все коробки должны быть ориентированы одинаково (т.е. нельзя одну коробку расположить “стоя”, а другую —“лежа”)

Напишите программу, которая по размерам склада и размерам коробки с ноутбуком определит максимальное количество ноутбуков, которое может быть размещено на складе. Программа получает на вход шесть натуральных чисел. Первые три задают длину, высоту и ширину склада. Следующие три задают соответственно длину, высоту и ширину коробки с ноутбуком. Программа должна вывести одно число — максимальное количество ноутбуков, которое может быть размещено на складе.

100
200
300
1
2
3
1000000
100
200
300
3
2
1
1000000
100
100
1
2
2
2

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *