Добавить материал и получить бесплатное свидетельство о публикации в СМИ
Эл. №ФС77-60625 от 20.01.2015
Инфоурок / Информатика / Статьи / Статья на тему "Подготовка к олимпиадам по информатике:Условный оператор"

Статья на тему "Подготовка к олимпиадам по информатике:Условный оператор"


  • Информатика

Поделитесь материалом с коллегами:

Тема: Готовимся к олимпиадам. Условный оператор


Задача A. Максимум из двух чисел

Формат входных данных

Даны два целых числа, каждое число записано в отдельной строке.

Формат выходных данных

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


Примеры


1

2

2


Задача B. Високосный год

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


Примеры


ЗадачаC. Тестирующая система

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

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

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


Примеры


11

-1

YES


3

1

NO



Задача D. Знак числа

В математике функция sign(x) (знак числа) определена так:

sign(x) = 1, если x > 0,

sign(x) = -1, если x < 0,

sign(x) = 0, если x = 0.

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


Примеры


Задача E. Какое из чисел больше?

Формат входных данных

Даны два целых числа, каждое записано в отдельной строке.

Формат выходных данных

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


Примеры


1

2

2



Задача F. Максимум из трех

Формат входных данных

Даны три целых числа, каждое записано в отдельной строке.

Формат выходных данных

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


Примеры


1

2

3

3



Задача G. Ладья

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


Примеры


1

1

2

2

NO


1

1

2

1

YES



Задача H. Слон

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


Примеры


1

1

2

2

YES


1

1

2

1

NO



Задача I. Ферзь

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


Примеры


1

1

2

1

YES


1

1

3

2

NO



Задача J. Король

Поле шахматной доски определяется парой чисел (a, b), каждое от 1 до 8, первое число задает номер столбца, второе – номер строки. Заданы две клетки. Определите, может ли шахматный король попасть с первой клетки на вторую за один ход.

Формат входных данных

Даны 4 целых числа от 1 до 8 каждое, первые два задают начальную клетку, вторые два задают конечную клетку. Начальная и конечная клетки не совпадают. Числа записаны в отдельных строках.

Формат выходных данных

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


Пример


1

2

2

2

YES



Задача K. Конь

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


Примеры


1

1

3

2

YES


1

1

3

3

NO



Задача L. Шоколадка

Требуется определить, можно ли от шоколадки размером n × m долек отломить k долек, если разрешается сделать один разлом по прямой между дольками (то есть разломить шоколадку на два прямоугольника). Вводятся 3 числа: n, m и k; k не равно n × m. Гарантируется, что количество долек в шоколадке не превосходит 30000.


Примеры


3

2

4

YES


3

2

1

NO



Задача M. Фишки

В каждую крайнюю клетку квадратной доски поставили по фишке. Могло ли оказаться, что выставлено ровно k фишек? (Например, если доска 2 x 2, то выставлено 4 фишки, а если 6 x 6 - то 20).

Вводится одно натуральное число k.


Примеры


Задача N. Уравнение

Решить в целых числах уравнение ax + b = 0. Вводятся 2 числа: a и b. Необходимо вывести все решения, если их число конечно, “NO” (без кавычек), если решений нет, и “INF” (без кавычек), если решений бесконечно много.


Примеры


1

1

-1

2

1

NO


Задача O. Сложное уравнение

Решить в целых числах уравнение ( ax + b ) : ( cx + d ) = 0. Вводятся 4 числа: a, b, c и d; c и d не равны нулю одновременно. Необходимо вывести все решения, если их число конечно, “NO” (без кавычек), если решений нет, и “INF” (без кавычек), если решений бесконечно много.


Примеры


1

1

3

2

-1

1

1

1

1

NO


Задача P. Сдача

Товар стоит a руб. b коп. За него заплатили c руб. d коп. Сколько сдачи требуется получить? Вводятся 4 числа: a, b, c и d. Необходимо вывести 2 числа: e и f, число рублей и копеек, соответственно.


Примеры


2

1

3

2

1 1


2

1

4

0

1 99


Задача Q. Мороженое

В кафе мороженое продают по три шарика и по пять шариков. Можно ли купить ровно k шариков мороженого?


Примеры


Задача R. Котлеты

На сковородку одновременно можно положить k котлет. Каждую котлету нужно с каждой стороны обжаривать m минут непрерывно. За какое наименьшее время удастся поджарить с обеих сторон n котлет? Вводятся 3 числа: k, m и n. Все числа не превосходят 32000.


Примеры


1

1

1

2

2

2

1

4


Задача S. Координатные четверти

Даны координаты двух точек на плоскости, требуется определить, лежат ли они в одной координатной четверти или нет (все координаты отличны от нуля). Вводятся 4 числа: координаты первой точки (x1, y1) и координаты второй точки (x2, y2).


Примеры


1

1

3

2

YES

1

1

-1

1

NO



Задача T. Существует ли треугольник?

Формат входных данных

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

Формат выходных данных

Если треугольник существует, выведите строку YES, иначе выведите строку NO.


Пример


3

4

5

YES


Задача U. Количество равных из трех

Формат входных данных

Даны три целых числа, записанных в отдельных строках. Определите, сколько среди них совпадающих.

Формат выходных данных

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


Примеры


1

2

2

2


Задача V. Квадратное уравнение

Даны действительные числа a, b, c. Найдите все решения квадратного уравнения ax2 + bx + c = 0.

Формат входных данных

Даны три действительных числа, a не равно 0.

Формат выходных данных

Выведите два действительных числа, если уравнение имеет два корня, одно действительное число – при наличии одного корня. При отсутствии действительных корней ничего выводить не нужно.


Примеры


1

0

0

0


Задача W. Тип треугольника

Определите тип треугольника (остроугольный, тупоугольный, прямоугольный) с данными сторонами.

Формат входных данных

Даны три натуральных числа – стороны треугольника.

Формат выходных данных

Необходимо вывести одно из слов: right для прямоугольного треугольника, acute для остроугольного треугольника, obtuse для тупоугольного треугольника или impossible, если входные числа не образуют треугольника.


Примеры


3

4

5

right


Задача X. Коровы

По данному числу n закончите фразу "На лугу пасется..." одним из возможных продолжений: "n коров", "n корова", "n коровы", правильно склоняя слово "корова".

Формат входных данных

Дано число n (n<100).

Формат выходных данных

Программа должна вывести введенное число n и одно из слов (на латинице): korov, korova или korovy, например, 1 korova, 2 korovy, 5 korov. Между числом и словом должен стоять ровно один пробел.


Примеры


Задача Y. Билеты на метро

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

Формат входных данных

Дано одно число n - количество поездок.

Формат выходных данных

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


Примеры


Задача Z. Билеты на метро – 2

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

Формат входных данных

Дано одно число n - количество поездок.

Формат выходных данных

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


Примеры


Задача AA. Координаты соседей

Для клетки с координатами (x, y) в таблице размером M × N выведите координаты ее соседей. Соседними называются клетки, имеющие общую сторону.

Формат входного файла

Даны натуральные числа M, N, x, y (1 ≤ xM ≤ 109, 1 ≤ yN ≤ 109).

Формат выходного файла

В выходной файл выведите пары координат соседей этой клетки в произвольном порядке.


Примеры


3 3

2 2


2 1

1 2

2 3

3 2


Задача AB. Апельсины бочками

Бизнесмен Василий после прочтения известной книги решил открыть новый бизнес – отгружать апельсины бочками. Партнерам важно знать сколько именно бочек апельсинов отгружается каждый день.

Мобильный телефон Василия поддерживает только транслит, поэтому он передает сообщения вида "N bochek" . Например, "3 bochki" или "1 bochka" .

Напишите программу, которая выбирает правильное слово (из "bochka" , "bochek" , "bochki" ) в зависимости от N.

Формат входного файла

Одно число N (0 ≤ N ≤ 1000).

Формат выходного файла

Фраза на транслите (см. примеры).


Примеры


Задача AC. Четные и нечетные числа

Даны три целых числа A, B, C. Определить, есть ли среди них хотя бы одно четное и хотя бы одно нечетное.

Формат входных данных

Числа A, B, C, не превышающие по модулю 10000.

Формат выходных данных

Одна строка – "YES" или "NO" .


Примеры


3

4

5

YES


7

7

7

NO


Задача AD. Римская система счисления

Дано число X. Требуется перевести это число в римскую систему счисления.

Формат входного файла

Дано число X в десятичной системе счисления (1 ≤ X ≤ 100).

Формат выходного файла

Выведите X в римской системе счисления.


Примеры


Задача AE. Упорядочить три числа

Дано три числа, записанный в отдельных строках. Упорядочите их в порядке неубывания. Программа должна считывать три числа a, b, c, затем программа должна менять их значения так, чтобы стали выполнены условия a <= b <= c, затем программа выводит тройку a, b, c.


Примеры


1

2

1

1 1 2



Задача A. Максимум из двух чисел

var a,b,max:integer;

begin

read(a,b);

max:=a;

if b>max then max:=b;

write(max);

end.


Задача B. Високосный год

var a:integer;

begin

read(a);

if (a mod 4=0) and (a mod 100<>0) or (a mod 400=0) then

write('YES') else write('NO');

end.


ЗадачаC. Тестирующая система

var a,b:longint;

begin

read(a,b);

if (a=1) and (b=1) or (a<>1) and (b<>1)

then write('YES')

else write ('NO');

end.


Задача D. Знак числа

var n:real;

begin

read(n);

if n>0 then write(1);

if n=0 then write(0);

if n<0 then write(-1);

//if n<>0 then write(n/ABS(n)) else write(0);

end.


Задача E. Какое из чисел больше?

var a,b:integer;

begin

read(a,b);

if a>b then write(1)

else if b>a then write(2)

else write(0);

end.


Задача F. Максимум из трех

var a,b,c,max:integer;

begin

read(a,b,c);

max:=a;

if b>max then max:=b;

if c>max then max:=c;

write(max);

end.


Задача G. Ладья

var a,b,c,d:integer;

begin

read(a,b,c,d);

if (a=c) or (b=d) then

write('YES')

else write('NO');

end.


Задача H. Слон

var a,b,c,d:integer;

begin

read(a,b,c,d);

if abs(a-c)=abs(b-d) then

write('YES')

else write('NO');

end.


Задача I. Ферзь

var a,b,c,d:integer;

begin

read(a,b,c,d);

if (abs(a-c)=abs(b-d)) or (a=c) or (b=d) then

write('YES')

else write('NO');

end.


Задача J. Король

var a,b,c,d:integer;

begin

read(a,b,c,d);

if ((abs(a-c)=0) or (abs(a-c)=1)) and ((abs(b-d)=0) or (abs(b-d)=1)) then

write('YES')

else write('NO');

end.


Задача K. Конь

var a,b,c,d:integer;

begin

read(a,b,c,d);

if (abs(a-c)=1) and (abs(d-b)=2) or (abs(a-c)=2) and (abs(d-b)=1) then

write('YES')

else write('NO');

end.


Задача L. Шоколадка

var n,m,k:integer;

begin

if k>n*m then

write('NO')

else if (k<>1) and ((k mod n=0) or (k mod m=0)) then

write('YES')

else write('NO');

end.


Задача M. Фишки

var k:integer;

begin

read(k);

if k=1 then write('YES')

else if k mod 4=0 then

write('YES')

else write('NO');

end.


Задача N. Уравнение

var a,b:integer;

begin

read(a,b);

if (a=0) and (b=0) then

write('INF')

else if (a=0) and (b<>0) then

write('NO')

else if b mod a=0 then

write(-(b div a))

else write('NO');

end.


Задача O. Сложное уравнение

var a,b,c,d:integer;

begin

read(a,b,c,d);

if (a=0) and (b=0) then

write('INF')

else if (a=0) and (b<>0) or (a=c) and (b=d) then

write('NO')

else if (a<>0) and (b mod a=0) and (c*(-b/a)+d<>0) then

write(-b div a)

else write('NO');

end.


Задача P. Сдача

var a,b,c,d:integer;

begin

read(a,b,c,d);

if a*100+b>=c*100+d then

write(0,' ',0)

else

write((c*100+d-a*100-b) div 100,' ',(c*100+d-a*100-b) mod 100);

end.


Задача Q. Мороженое

var a,b,c,d:integer;

begin

read(a,b,c,d);

if a*100+b>=c*100+d then

write(0,' ',0)

else

write((c*100+d-a*100-b) div 100,' ',(c*100+d-a*100-b) mod 100);

end.


Задача R. Котлеты

var k,m,n,t:longint;

begin

read(k,m,n);

if n<=k then t:=2*m

else

begin

t:=(2*n) div k*m;

if (2*n) mod k<>0 then t:=t+m;

end;

write(t);

end.


Задача S. Координатные четверти

var x1,y1,x2,y2:real;

begin

read(x1,y1,x2,y2);

if (x1/x2>0) and (y1/y2>0) then

write('YES')

else write('NO');

end.


Задача T. Существует ли треугольник?

var a,b,c:integer;

begin

read(a,b,c);

if (a+b>c) and (b+c>a) and (a+c>b) then

write('YES')

else write('NO');

end.


Задача U. Количество равных из трех

var a,b,c,d:integer;

begin

read(a,b,c);

d:=0;

if (a=b) and (b=c) then d:=3

else if (a=b) or (b=c) or (a=c) then d:=2;

write(d);

end.


Задача V. Квадратное уравнение

var a,b,c,d,x1,x2:real;

begin

read(a,b,c);

d:=b*b-4*a*c;

if d>0 then

begin

x1:=(-b+sqrt(d))/(2*a);

x2:=(-b-sqrt(d))/(2*a);

write(x1,' ',x2)

end

else if d=0 then

begin

x1:=-b/(2*a);

write(x1);

end;

end.


Задача W. Тип треугольника

var a,b,c,max,m2,m3:longint;

begin

read(a,b,c);

if (a+b>c) and (b+c>a) and (a+c>b) then

begin

max:=a;m2:=b;m3:=c;

if b>max then begin max:=b;m2:=a;m3:=c;end;

if c>max then begin max:=c;m2:=b;m3:=a;end;

if m2*m2+m3*m3=max*max then write('right')

else if m2*m2+m3*m3>max*max then write('acute')

else write('obtuse')

end

else write('impossible');

end.


Задача X. Коровы

var n:integer;

begin

read(n);

if (n>=5) and (n<=20) then write(n,' korov')

else if (n mod 10=1) then write(n,' korova')

else if (n mod 10>=2) and (n mod 10<=4) then write(n,' korovy')

else write(n,' korov');

end.


Задача Y. Билеты на метро

var n,n1,n10,n60,o60,o10:integer;

begin

read(n);

n60:=n div 60;

o60:=n mod 60;

if o60>=35 then n60:=n60+1

else

begin

n10:=o60 div 10;

o10:=o60 mod 10;

if o10=9 then n10:=n10+1

else n1:=o10;

end;

write(n1,' ',n10,' ',n60);

end.


Задача Z. Билеты на метро – 2

var n,n1,n5,n10,n20,n60,o60,o20,o10,o5:integer;

begin

read(n);

n60:=n div 60;

o60:=n mod 60;

if o60>=36 then n60:=n60+1

else

begin

n20:=o60 div 20;

o20:=o60 mod 20;

if o20>=18 then n20:=n20+1

else

begin

n10:=o20 div 10;

o10:=o20 mod 10;

if o10=9 then n10:=n10+1

else

begin

n5:=o10 div 5;

o5:=o10 mod 5;

n1:=o5;

end;

end;

end;

write(n1,' ',n5,' ',n10,' ',n20,' ',n60);

end.


Задача AA. Координаты соседей

var m,n,x,y:longint;

begin

read(m,n,x,y);

if x

if x>1 then writeln(x-1,' ',y);

if y

if y>1 then writeln(x,' ',y-1);

end.


Задача AB. Апельсины бочками

var n:integer;

begin

read(n);

if (n mod 100>=11) and (n mod 100<=14) then write(n,' bochek')

else if (n mod 10=1) then write(n,' bochka')

else if (n mod 10>=2) and (n mod 10<=4) then write(n,' bochki')

else write(n,' bochek');

end.


Задача AC. Четные и нечетные числа

var a,b,c:integer;

begin

read(a,b,c);

if ((a mod 2=0) or (b mod 2=0) or (c mod 2=0))

and ((a mod 2<>0) or (b mod 2<>0) or (c mod 2<>0))

then write('YES')

else write('NO');

end.


Задача AD. Римская система счисления

var x,a,b:integer;

begin

read(x);

a:=x div 10;

b:=x mod 10;

if x=100 then write('C');

if a=1 then write('X');

if a=2 then write('XX');

if a=3 then write('XXX');

if a=4 then write('XL');

if a=5 then write('L');

if a=6 then write('LX');

if a=7 then write('LXX');

if a=8 then write('LXXX');

if a=9 then write('XC');

if b=1 then write('I');

if b=2 then write('II');

if b=3 then write('III');

if b=4 then write('IV');

if b=5 then write('V');

if b=6 then write('VI');

if b=7 then write('VII');

if b=8 then write('VIII');

if b=9 then write('IX');

end.


Задача AE. Упорядочить три числа

var a,b,c,max,sr,min,summa:integer;

begin

read(a,b,c);

summa:=a+b+c;

max:=a;

if b>max then max:=b;

if c>max then max:=c;

min:=a;

if b

if c

sr:=summa-(max+min);

a:=min;

b:=sr;

c:=max;

write(a,' ',b,' ',c);

end.




Автор
Дата добавления 31.05.2016
Раздел Информатика
Подраздел Статьи
Просмотров1035
Номер материала ДБ-104730
Получить свидетельство о публикации

Похожие материалы

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