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

120 задач
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
Выходя на пробежку Рита берёт с собой телефон для прослушивания музыки и беспроводные наушники. Перед каждой пробежкой Рита заряжает наушники, и этой зарядки хватает на A минут прослушивания музыки. Рита решила, что каждый день она будет тренироваться на минуту дольше, чем в предыдущий день. То есть если в первый день Рита бегала и слушала музыку в течение B минут, во второй день она будет бегать B + 1 минуту, в третий день — B + 2 минуты и т.д.
Если заряда наушников хватает на большее время, чем продолжительность пробежки, то неиспользованный заряд накапливается и может быть использован в последующие дни. Емкость аккумулятора наушников можно считать неограниченной.
Определите, в какой день Рите впервые не хватит заряда для прослушивания музыки во время всей пробежки.

Входные данные
Первая строка входных данных содержит целое число A (1 <= A <= 109 ) — величина ежедневного заряда аккумулятора (в минутах прослушивания музыки). Вторая строка входных данных содержит целое число B (1 <= B <= 109 ) — продолжительность пробежки в первый день.

Выходные данные
Программа должна вывести одно целое число — номер дня, на который Рите впервые не хватит
заряда наушников на всю пробежку
Примеры
Входные данные Выходные данные
1 42
40
6
Средние значение между какими-либо данными можно вычислять разным способом. В математике выделяют следующие средние значения:
  1. среднее арифметическое чисел a и b\(\dfrac{a+b}{2}\)
     
  2. среднее геометрическое чисел a и b: \( \sqrt{a\cdot b}\);
     
  3. среднее гармоническое чисел a и b\(\dfrac{2ab}{a+b}\);
     
  4. среднее квадратичное чисел a и b: \( \sqrt{\dfrac{a^2+b^2}{2}}\).

Формат входных данных
На вход подается два вещественных числа a и (1 <= a, b <= 1000).

Формат выходных данных
Программа должна вывести 4 числа – среднее арифметическое, геометрическое, гармоническое и квадратичное. Каждое число выводиться с точностью не менее 6 знаков после запятой на отдельной строке. 
Андрей вот-вот опоздает на школьный этап ВсОШ. К счастью, недавно в его городе появились порталы.
Город, в котором живет Андрей, можно представить в виде прямой. Всего в городе успели построить N порталов. Портал с номером i расположен в точке с координатой xi . Если в текущий момент времени вы находитесь в одной точке с каким-нибудь порталом, то можете всего за одну секунду телепортироваться в любой другой портал вне зависимости от расстояния между ними. А время, требуемое для преодоления расстояния между точками с координатами p и q без использования порталов равно |p − q| секунд. Андрей является влиятельным гражданином, поэтому он может использовать систему порталов любое количество раз.
Изначально Андрей находится в точке s, а точка проведения олимпиады имеет координату e.
Помогите Андрею понять, как быстро он может попасть на олимпиаду, ведь каждая секунда на счету.

Входные данные
В первой строке входных данных записано одно целое число s — начальное положение Андрея.
Во второй строке записано одно целое число e — место проведения олимпиады. 
В третьей строке записано количество порталов N (2 ≤ N ≤ 2 · 105).
В каждой из N следующих строк записано целое число xi — координата портала с номером i.
Все числа s, e, xi по модулю не превосходят 108.

Выходные данные
Выведите одно число — минимальное количество секунд, которое потребуется Андрею для того, чтобы добраться до места проведения олимпиады.
 
Примеры
Входные данные Выходные данные
1 0
4
3
1
3
5
3


Замечание
Рассмотрим пример из условия. Если бы Андрей не мог пользоваться порталами, он бы смог добраться до точки проведения олимпиады за |0 − 4| = 4 секунды. Однако, можно действовать так:
1. Дойти до портала с номером 1 за |0 − 1| = 1 секунду.
2. Телепортироваться в портал с номером 2 за одну секунду.
3. Дойти от портала с номером 2 до точки проведения олимпиады за |3 − 4| = 1 секунду.
Суммарно получаем 1 + 1 + 1 = 3 секунды.
Недавно Вася решил всерьез заняться машинным обучением и распознаванием образов. Однако, наука это обширная, а
начинать с чего-то надо, поэтому его учитель информатики посоветовал ему начать с анализа ASCII рисунков.
Он дал Васе рисунок ASCII-графика, который выглядит следующим образом: он представляет собой прямоугольник n × m, состоящий из символов «*» и «.». Левая верхняя клетка прямоугольника считается началом координат — точкой (0, 0), верхняя строка таблицы — осью OX, направленной слева направо, а левый столбец — осью OY, направленной сверху вниз. Таким образом, клетка (x, y) таблицы отвечает за точку (x, y) на графике функции, и если в этой клетке таблицы стоит «*», то f(x) = y, а противном случае в клетке таблицы стоит «.». Гарантируется, что функция, график которой дан Васе, непрерывна и однозначно определена на всем промежутке, то есть:
В каждом столбце таблицы стоит ровно один символ «*»;
В соседних столбцах символы «*» находятся либо в соседних по стороне, либо в соседних по углу клетках.
Для начала, чтобы проанализировать этот график, Вася хочет найти количество локальных максимумов в нем, то есть таких x, что f(x - 1) > f(x) < f(x + 1) (если одно из значений f(x - 1) или f(x + 1) не определено, счиается, что неравенство выполняется).
Входные данные
В первой строке входного находятся два натуральных числа n и m — количество строк и количество столбцов в таблице соответственно (1 ≤ n, m ≤ 100).
В каждой из следующих n строк содержится строка из m символов — описание таблицы. Гарантируется, что таблица представляет собой график функции, описанной в условии.
Выходные данные
В единственной строке выведите одно число — количество локальных минимумов в данном графике функции.
 
Ввод Вывод
4 6
.*....
*.*.*.
...*.*
......
 
2
3 5
....*
****.
.....
1
Мы разделим всех студентов на несколько групп, и в каждой группе они обсудят какие-то темы. Вы думаете, что группы, состоящие из двух или менее студентов, не могут эффективно обсуждать, поэтому вы хотите иметь как можно больше групп, состоящих из трех или более студентов. Разделите студентов так, чтобы количество групп, состоящих из трех и более студентов, было максимальным.

Входные данные
На вход подается целое число N (\(1<=N<=1000\)) - количество всех студентов.

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

 

Примеры
Входные данные Выходные данные
1 8 2
2 2 0
3 9 3


 
Для хранения текста в памяти компьютера отводится целое число байт. Текст занимает N бит. Какое минимальное число байт потребуется для хранения данного текста? Напишите программу.

Входные данные
Вводится целое число N

Выходные данные
Вывести одно число - ответ на задачу.

Примеры
Входные данные Выходные данные
1 8 1
2 9 2
 
 
Володе очень понравились задачи олимпиады по информатике, поэтому он решил ходить на занятия кружка по программированию. Придя на первое занятие кружка, он узнал, что занятия будут проходить еженедельно в один и тот же день недели. Помогите Володе составить календарь занятий до конца года – определите даты всех занятий, начиная с первого занятия и до конца года.
Программа получает на вход два числа, записанных в разных строках: номер месяца и номер дня месяца, когда проходит первое занятие. Номер месяца может быть одним из четырёх возможных чисел – 9, 10, 11, 12. Номер дня месяца – число от 1 до 30 для сентября и ноября (месяцы с номерами 9 и 11) или от 1 до 31 для октября и декабря (месяцы с номерами
10 и 12). 
Программа должна вывести даты всех занятий кружка до конца года в хронологическом порядке, по одной дате в строке, сначала месяц, затем день месяца, через пробел. Занятия проходят еженедельно, в тот же день недели, что и первое занятие. Формат вывода дат такой же, как в условии. Считайте, что каникулы отсутствуют, а последнее занятие может происходить в любой день декабря, в том числе и 31 числа.
 
Примеры
Входные данные Выходные данные
1 11
20
11 20
11 27
12 4
12 11
12 18
12 25
В детском саду Сластена N детей. Анна Николаевна выстраивает детей в линию, затем раздает 1 конфету первому ребенку, 2 конфеты второму ребенку, ..., N конфет N-му ребенку. Сколько всего конфет потребуется Анне Николаевне?

Входные данные
На вход подается целое число N (\(1 <= N <=100\)).

Выходные данные
Выведите на экран ответ на задачу.
 

 

Примеры
Входные данные Выходные данные
1 3 6

 

Заполните двоичную матрицу (состоящую только из нулей и единиц) в шахматном порядке. В левом верхнем углу должен быть нулевой элемент.
 

Входные данные
Во входной строке записаны через пробел размеры матрицы: количество строк N и количество столбцов M ( 1 <= N , M <= 100 ).
 

Выходные данные 
Программа должна вывести двоичную матрицу по строкам.
 

Примеры
Входные данные Выходные данные
1 4 5
0 1 0 1 0
1 0 1 0 1
0 1 0 1 0
1 0 1 0 1

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

Каждая задача тестируется на некотором числе тестов. Результаты каждого теста отображаются в окне результатов. 
Ваша цель - за каждую задачу получить 100% выполненных тестов. 

Удачи!
 

Программа
var 
    a, b: longint;
begin
    read(a, b);
    writeln(a + b)
end.

 

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

Каждая задача тестируется на некотором числе тестов. Результаты каждого теста отображаются в окне результатов. 
Ваша цель - за каждую задачу получить 100% выполненных тестов. 
Удачи!

ПРОГРАММА:

using System;
class Program 
{
    static void Main(string[] args)
    {
        int a= Convert.ToInt32(Console.ReadLine());
                Console.WriteLine(a*a);
    }
}

 

По данному целому числу N распечатайте все квадраты натуральных чисел, не превосходящие N, в порядке возрастания. Из арифметических операций разрешается использовать только сложение и вычитание.

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

Выходные данные: выведите ответ на задачу.
 
Примеры
Входные данные Выходные данные
1 50 1 4 9 16 25 36 49
 Принцесса Эмбер, ее брат и София учатся в Академии волшебников, где у них также есть математика (никто же не сомневается, что математика важна волшебникам так же, как и знание различных заклинаний). Недавно учитель математики поведал детям о хитром способе возведения в квадрат натуральных чисел, оканчивающихся на цифру 5. Теперь ребята могут с легкостью возводить в квадрат двузначные (и даже некоторые трехзначные) числа, оканчивающиеся на 5. Способ заключается в следующем: для возведения в квадрат числа, оканчивающегося на 5, достаточно умножить число, полученное из исходного вычеркиванием последней пятерки на следующее по порядку число, затем остается лишь приписать «25» к получившемуся результату справа. Например, для того, чтобы возвести число 125 в квадрат достаточно 12 умножить на 13 и приписать 25, т.е. приписывая к числу 12*13=156 число 25, получаем результат 15625, т.е. 1252=15625.
Эмбер решила потренироваться в новом навыке, и хочет, чтобы ее кто-то проверил. Но так как она слишком горда, чтобы просить чьей-то помощи в Королевстве, она просит Вас написать для нее программу, по которой бы она смогла себя проверить.
Входные данные: на вход подается целое число \(A\), оканчивающееся цифрой 5 и не превышающее \(400005\)
Выходные данные: выведите одно число - \(A^2\)

Пример
Входные данные
125
Выходные данные
15625

Волшебник Седрик пригласил принцессу Софию и ее друзей поиграть в свою версию старинной игры "Городки".  Седрик расставил несколько столбиков в ряд, которые необходимо сбить битой по порядку. Седрик сбивал столбики один за другим, начиная с самого левого, София — с самого правого. В какой-то момент они сбили последний столбик вместе.

После этого Седрик сказал, что забыл, сколько было всего столбиков, но помнит, сколько сбил он сам, а София сказала, сколько столбиков сбила она.
Помогите Седрику определить сколько же столбиков было в самом начале.

Входные данные
На вход подается два числа - количество столбиков, которые сбил Седрик и София соответственно (каждое не больше 100)
Выходные данные
Выведите количество столбиков, которые были установлены в начале игры

Пример
Входные данные

4 7
Выходные данные
10

Кролик Клевер очень любит яблоки. Также он любит угощать яблоками своих друзей. У Кролика N друзей. Он насобирал в саду K яблок и хочет их поделить поровну между своими друзьями, Неделящийся остаток остается в корзинке. Сколько яблок достанется каждому другу и сколько яблок у него останется в корзине? Помогите Кролику Клеверу посчитать эту информацию. 
Напишите для него программу.

Программа получает на вход два числа через пробел:  N - количество друзей у кролика (не более 1000), K - количество яблок (не более 1000000)
Вам необходимо вывести в первой строке число яблок, которые достанутся каждому другу
Во второй строке - число яблок, которые останутся в корзинке

Примеры входных и выходных данных:
Входные данные
10  25
Выходные данные
2
5
Напишите программу, которая по заданным двум числам a и b, выводит на экран результат целочисленного деления и остаток, в заданном формате (смотри примеры)

На вход программы подается два числа: a и b
Необходимо вывести две строки:
в первой строке - результат целочисленного деления a на b
во второй строке - остаток от деления a на b
Форма вывода смотри в примере входных и выходных значений

Пример входных и выходных данных
Входные данные
15 6
Выходные данные
15/6=2
15%6=3
Напишите программу, которая вычисляет значение переменной y по формуле:
y=(1-x2+2,5x3+x4)2

Значение переменной x задается с клавиатуры. Типы переменных x и y определите самостоятельно.
Вывести значение переменной y на экран
Образование в Древнем Риме имело важное значение в жизни римлян. Богатые люди Древнего Рима верили в необходимость и важность образования. Бедные жители Рима не имели возможности получить образование, однако многие самостоятельно учились читать и писать.

В Древнем Риме было два типа школ. Первый тип – это школы для маленьких детей в возрасте до 11-12 лет, где они учились писать, читать и изучали основы математики. Дети таких школ могли легко решать различные математические задачи, в том числе продолжить следующую последовательность рядов:

1

11

21

1211

111221

312211

13112221

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

Входные данные
На вход подаются два целых числа через пробел: (\(0 <= x <=100\)) - первый член последовательности и (\(1<=n<=25\)).

Выходные данные 
Выведите n-ый ряд x-ой последовательности.

 
Примеры
Входные данные Выходные данные
1 1 4 1211

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

Каждая задача тестируется на некотором числе тестов. Результаты каждого теста отображаются в окне результатов. 
Ваша цель - за каждую задачу получить 100% выполненных тестов. 
Удачи!

ПРОГРАММА:

import java.io.*;
import java.util.*;

public class Main
{
    public static void main(String[] args)
    {
        Scanner in = new Scanner(System.in);
        PrintWriter out = new PrintWriter(System.out);

        int a = in.nextInt();
        int b = in.nextInt();
        System.out.println(a + b);
    }
}
Дано одно слово (все буквы строчные, словом считается любая последовательность символов без пробелов).
Выведите слово YES, если исходное слово является палиндромом (слово, которое одинаково читается как слева направо, так и справа налево). В противном случае выведите NO и на новой строке индекс первого символа с начала исходной строки, который не позволяет построить палиндром. 
 
Примеры
Входные данные Выходные данные
1 level YES
2 sags NO
1
Поделиться
Класснуть