ВУЗ: Не указан

Категория: Решение задач

Дисциплина: Не указана

Добавлен: 17.03.2024

Просмотров: 294

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Составители:

Ильина Е.А,

Волынская О.С,

учителя информатики КГУ «Гимназия №9» г.Караганды

Линейные алгоритмы

Задача 1 (№ 1) A+B (Сложность: 1%)

Входные данные. В единственной строке входного файла INPUT.TXT записано два натуральных числа через пробел, не превышающих 109.

Выходные данные. В единственную строку выходного файла OUTPUT.TXT нужно вывести одно целое число — сумму чисел А и В.

Задача 3 (№ 903) Бисер (Сложность: 2%)

Выходные данные

Задача 4 (№ 942) Олимпиада (Сложность: 2%)

Задача 5 (№ 195). Эния (Сложность: 3%)

Задача 7 (№ 33) Два бандита ( Сложность: 4%)

Входные данные

Выходные данные

Задача 10 (№ 819) Прямоугольный параллелепипед

(Сложность: 10%)

     x=(h*(l+w)*2)/16; нужно учесть, что банка может быть неполной

Входные данные

Выходные данные

Задача 14 (№ 780) Футбол (Сложность: 22%)

Выходные данные. В выходной файл OUTPUT.TXT выведите одно число – общее количество забитых мячей.

2 способ

Задача 15 (№ 900) Три грибника (Сложность: 23%)

Разветвляющиеся алгоритмы

Задача 16 (№ 25) Больше-меньше (Сложность: 3%)

Входные данные

Выходные данные

Задача 19 (№ 8)Арифметика (Сложность: 5%)

Задача 21 (№ 755) Сбор земляники (Сложность: 6%)

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

Выходные данные. В единственную строку выходного файла OUTPUT.TXT нужно вывести одно целое число – через сколько часов зазвонит будильник.

Задача 33 (№ 948) Сроки в книге (Сложность: 13%)

Выходные данные. В выходной файл OUTPUT.TXT выведите одно целое число — минимальное количество значков, которое требуется подготовить.

Выходные данные

Задача 37 (№ 929) Игральные кубики (Сложность: 15%)

Входные данные. Входной файл INPUT.TXT содержит одно натуральное число n — количество очков, которые получил первый игрок (n ≤ 1010).

Задача 38 (№ 263) Метро (Сложность: 16%)

Задача 39 (№ 844) Поля (Сложность: 16%)

Входные данные. Входной файл INPUT.TXT содержит целые числа a и b – длины сторон прямоугольника (1 < = a*b ≤ 1014).

Выходные данные

Задача 40 (№ 294) Болты и гайки (Сложность: 17%)

Входные данные

Выходные данные. В выходной файл выведите одно целое число – размер ущерба.

Задача 41 (№ 606)Треугольник – 3 (Сложность: 17%)

Задача 42 (№ 952) В автобусе (Сложность: 18%)

Входные данные

Задача 43 (№ 952) Кастинг (Сложность: 19%)

Требуется написать программу, которая по заданным числам n, a, b и с определяет минимальное или максимальное количество актеров, с которыми режиссер должен переговорить.

1, если в данном тесте требуется определить минимальное количество актеров;

Вторая строка входного файла содержит разделенные пробелами четыре целых числа: n, a, b, с (1 ≤ n ≤ 10 000, 0 ≤ a ≤ n, 0 ≤ b ≤ n, 0 ≤ c ≤ n).

Задача 45 (№ 68) Дом - Школа – Дом (Сложность: 21%)

Выходные данные. В выходной файл OUTPUT.TXT выведите YES, если палатки указанным образом выбрать можно, и NO в противном случае.

Задача 49 (№ 692) Бинарные числа (Сложность: 8%)

Задача № 52 (№ 233). Автобусная экскурсия (Сложность: 14%)

Выходные данные. В выходной файл OUTPUT.TXT выведите ответ на задачу.

Задача 55 (№ 264) Оттепель(Сложность: 17%)

Задача 56 (№ 949) Фибоначчиева последовательность. (Сл.17%)

Задача 57 (№ 778) Офис (Сложность: 18%)

Задача 60 (№ 947) Карточки – 3 (Сложность: 22%)

Входные данные. Входной файл INPUT.TXT содержит единственное положительное число X - длина нависающей части. Число X задано с двумя знаками после запятой и 0.01 ≤ x < 10.00.

Задача 62 (№ 716) Треугольник Максима (Сложность: 25%)

Задача 63 (№ 272) Сумма max и мin (Сложность: 26%)

Массивы

Задача 66 (№ 149). Разворот (Сложность: 9%)

Выходные данные. В выходной файл OUTPUT.TXT выведите ответ на задачу.

Задача 69 (№ 637) NEERC (Сложность: 17%)

Задача 70 (№ 293) Налоги (Сложность: 20%)

Выходные данные. В выходной файл выведите одно число - номер фирмы, от которой государство получает наибольший налог. Если таких фирм несколько, выведите фирму с наименьшим номером.

Строки

Задача 74 (№ 324) Четырехзначный палиндром ( Сл.: 10%)

Задача 80 (№ 43) Нули (Сложность: 16%)

Входные данные

Выходные данные

Задача 81 (№ 297) Кругляши (Сложность: 16%)

Входные данные

Выходные данные

Задача 83 (№ 895) Крестики-нолики (Сложность: 19%)

Выходные данные

Входные данные.

Выходные данные. В выходной файл OUTPUT.TXT выведите ответ на задачу.

Задача 87 (№ 633) ACM World Finals (Сложность: 20%)

Задача 89 (№ 315) Наименьшая система счисления (Сл.: 26%)

Задача 90 (№ 277) Школьная алгебра (Сложность: 27%)

Входные данные

Выходные данные

     x=(h*(l+w)*2)/16; нужно учесть, что банка может быть неполной


    cout<
    return 0; }



Задача 13 (№ 843) Экзамены (Сложность: 20%)




INPUT.TXT

OUTPUT.TXT

1

2 2 1 0

1 1 0

2

10 5 5 5

5 0 0

3

10 5 5 0

0 5 5
В этом году при поступлении в университет абитуриентам требовалось успешно сдать экзамены по математике и физике. К сожалению, с этим испытанием справились не все. Известно, что на экзамены пришло N абитуриентов, из них M – сдали математику, F – сдали физику, а L – не сдали ни одного предмета. Найдите, сколько абитуриентов сдали оба предмета и стали студентами, а также определите, сколько абитуриентов сдали один экзамен: только по математике или только по физике.

Входные данные


Входной файл INPUT.TXT содержит четыре целых числа, разделенных пробелами: N (0 < N ≤ 2×109), M, F, L (0 ≤ M, F, L ≤ 2×109).

Выходные данные


В выходной файл OUTPUT.TXT выведите три числа через пробел:

a) количество абитуриентов, сдавших оба экзамена;
b) количество абитуриентов, сдавших только математику;
с) количество абитуриентов, сдавших только физику.


#include

using namespace std;

int main() {

long long n,m,f,l,oz,n2;

cin>>n>>m>>f>>l;

n=n-l;

oz=m+f;

n2=oz-n;

cout<
return 0; }



n=n-l –человек сдали 1 или 2 экзамена

oz=m+f – кол-во сданных экзаменов

n2=oz-n – сдали 2 экзамена

m-n2 – сдали только матем.

f-n2 – сдали только физику


Задача 14 (№ 780) Футбол (Сложность: 22%)



Вместо того чтобы делать уроки, Вася смотрел футбольный матч и записывал счет, который показывался на табло, после каждого забитого гола. Например, у него могла получиться такая запись: 1:0, 1:1, 1:2, 2:2, 2:3. После этого он сложил все записанные числа: 1+0+1+1+1+2+2+2+2+3=15. По сумме, получившейся у Васи, определите, сколько всего мячей было забито в матче.



INPUT.TXT

OUTPUT.TXT

1

15

5

Входные данные. В первой строке входного файла INPUT.TXT записано одно целое неотрицательное число, не превосходящее 1000 – сумма, полученная Васей.

Выходные данные. В выходной файл OUTPUT.TXT выведите одно число – общее количество забитых мячей.



#include

using namespace std;

int main() {

int s,n;

cin>>s;

n=(-1+sqrt(1+8*s))/2;

cout<
return 0; }

Вася посчитал сумму арифметической прогрессии

1+2+3+4+5=15, причем an=n

n2+n-2S=0 – решаем квадратное уравнение

D=1+8S

n= (n<0 не удовлетворяет условию)


2 способ



#include

using namespace std;

int main() {

int s,n;

cin>>s;

int g=0;

int sum=0;

while (sum
g++;

sum=sum+g;}

cout<
return 0; }











Находим сумму 1+2+3+4+…., пока она не станет равной сумме, полученной Васей


Задача 15 (№ 900) Три грибника (Сложность: 23%)


Три грибника Петя, Вася и Коля, возвращаясь из лесу домой, решили устроить привал, а заодно и перекусить. Как это у нас принято, через некоторое время каждый начал хвастаться своими сегодняшними успехами, а потом делиться найденными грибами со своими товарищами. Изначально у каждого из них было некоторое целое количество грибов. Сначала Петя дал Васе и Коле по столько грибов, сколько у них уже было. Коля быстро понял, что так будет не по-братски, и дал Васе и Пете по столько грибов, сколько у них стало. Вася не мог отстать от сотоварищей и тоже дал каждому из друзей по столько грибов, сколько у них к этому моменту имелось. И тут
друзья с удивлением обнаружили, что у всех стало грибов поровну. Известно, что все вместе они собрали N грибов. Сколько грибов было у каждого из них перед привалом?




INPUT.TXT

OUTPUT.TXT

1

120

65 20 35
Входные данные

Входной файл INPUT.TXT содержит натуральное число N (N ≤ 30000).

Выходные данные

В выходной файл OUTPUT.TXT выведите три числа через пробел - первоначальное количество грибов у Пети, Васи и Коли соответственно. Предполагается, что ответ для данного N существует.








Петя

Коля

Вася

Петя

x

x-y-z

2(x-y-z)

4(x-y-z)

Вася

y

2y

4y

4y-2(x-y-z)-(3z-y-x)=-x+7y-z

Коля

z

2z

2z-2y-(x-y-z)=3z-y-x

2(3z-y-x)

Получили систему уравнений:

решая систему, получим

#include

#include

using namespace std;

int main(){

int n,x,y,z;

cin>>n;

x=13*n/24;

y=n/6;

z=7*n/24;

cout<
return 0;

}
0>








Разветвляющиеся алгоритмы




Задача 16 (№ 25) Больше-меньше (Сложность: 3%)


Одна из основных операций с числами – их сравнение. Мы подозреваем, что вы в совершенстве владеете этой операцией и можете сравнивать любые числа, в том числе и целые. В данной задаче необходимо сравнить два целых числа.

Входные данные


В двух строчках входного файла INPUT.TXT записаны числа A и B, не превосходящие по абсолютной величине 2*109.

Выходные данные


Запишите в выходной файл один символ “<”, если A < B, “>”, если A > B и “=”, если A=B.




INPUT.TXT

OUTPUT

1

5
7

<

2

-7
-12

>

3

13
13

=
# include

using namespace std;

int main(){

int a,b;

cin>>a>>b;

if (a>b) cout<< ">";

if (a
if (a==b) cout<< "=";

return 0; }


Задача 17(№ 766) Орешки (Сложность: 3%)


Белочка собрала в лесу N шишек c орешками. Белочка очень привередливо выбирала шишки, и брала только те, в которых ровно M орешков. Также известно, что для пропитания зимой ей необходимо не менее K орешков. Определите, хватит ли на зиму орешков белочке.




INPUT.TXT

OUTPUT.TXT

1

4 5 20

YES

2

4 5 21

NO

3

3 2 1

YES
Входные данные

Входной файл INPUT.TXT содержит три натуральных числа: N, M и K (N, M ≤ 100, K ≤ 10 000).

Выходные данные

В выходной файл OUTPUT.TXT выведите «YES» если белочке хватит орешков и «NO» в противном случае.



#include

 using namespace std;

 int main() {

    int n, m, k;

    cin >> n >>m >>k;

    if (n*m >= k)

        cout << "YES";

    else cout << "NO";

    return 0; }

Задача 18 (№ 21) Зарплата (Сложность: 4%)


В отделе работают 3 сотрудника, которые получают заработную плату в рублях. Требуется определить: на сколько зарплата самого высокооплачиваемого из них отличается от самого низкооплачиваемого.
Входные данные. В единственной строке входного файла INPUT.TXT записаны размеры зарплат всех сотрудников через пробел. Каждая заработная плата – это натуральное число, не превышающее 105.

Выходные данные. В выходной файл OUTPUT.TXT необходимо вывести одно целое число — разницу между максимальной и минимальной зарплатой.


# include

using namespace std;




INPUT.TXT

OUTPUT.TXT

1

100 500 1000

900

2

36 11 20

25
int main(){

int a,b,c,min,max;

cin>>a>>b>>c;

if (a>b) {max=a; min=b;}

else {max=b; min=a;}

if (c
if (c>max){max=c;}

cout<
return 0; }