MS2. Сумма чисел во входном потоке

Условие

Сосчитайте сумму чисел во входном потоке.

Тесты

Ввод
Вывод
1 2 3 4 5 6 21
12 13 14 39
1-100

5050

Решение

Делаем цикл который будет работать, пока не закончиться входной поток, и считаем нашу сумму, затем печатаем ее.

Код на ideone C++
Код на ideone Java

e-olymp 474. Максимум

Станислав Коциевский
Станислав Коциевский

Latest posts by Станислав Коциевский (see all)

Задача.

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

Он предложил Васе находить суммы цифр последовательных чисел — 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21 — и так далее, пока Васе не надоест. Вася оказался в восторге от идеи и принялся за работу. За вчерашний день Вася нашёл суммы цифр каждого из чисел от 1 до 115. Посмотрев на результаты младшего брата, Петя заметил, что суммы цифр последовательных чисел не являются случайными, часто они идут подряд, но полностью закономерность он так и не понял.

Чтобы найти закономерности, Петя решил исследовать крайние случаи, например, какое из чисел даёт максимальную сумму цифр. Данных для чисел до 115 оказалось недостаточно для окончательных выводов, и Пете пришла в голову идея для ускорения вычислений использовать вместо братика компьютер. Поскольку сам он в программировании не очень силён, он обратился за решением этой задачи к Вам.

.

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

В первой строке входных данных находится число N (1 <= N <= 2 147 483 647).

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

Выведите число от 1 до включительно с максимальной суммой цифр. Если чисел с максимальной суммой цифр несколько, выведите наибольшее из них.

Тесты:

число N результат
1 1
98 98
13759 9999
999756 998999
2147483647 1999999999

Код программы:

 

Решение.

Идея данного решения задачи заключается в том, что мы получаем число с большей суммой цифр, но меньше данного, заменяя часть цифр справа на девятки, а первую цифру слева от девяток уменьшаем на единицу. Так мы движемся по разрядам от единиц к десяткам, сотням и т.д., каждый раз сравнивая сумму цифр полученного числа с максимальной суммой цифр, которая у нас была до этого.

Сумму цифр и их количество в числе считают две простых в написании функции, степени (i-я и i+1-я)десятки считаются непосредственно в основном цикле.

Задача взята с сайта e-olymp.com

Ссылка на условие задачи

Ссылка на код на ideone

Ссылка на засчитанное решение

примечание: ссылка на код может выдавать старый вариант кода, где [latex]a[/latex] и [latex]b[/latex] считаются отдельно, а не [latex]b[/latex] выражается через [latex]a[/latex], как в этом коде, в связи с техническими проблемами на ideone. Этот вариант тоже проходит все тесты, однако является несколько менее эффективным. 

Mif4

Алина Гончарова
Алина Гончарова

Latest posts by Алина Гончарова (see all)

Задача

Даны действительные числа x, y, z. Проверить, выполняются ли неравенства x < y < z.

Решение

Нам даны действительные числа x, y, z и нужно проверить выполняются ли неравенства x < y < z. Для этого нам нужно проверить будут ли выполняться такие неравенства: [latex] x<y[/latex]  и  [latex] y<z [/latex].

Код

Тесты

Входные данные Выходные данные
3 4 6  right
9 1 3 wrong
5 4 3 wrong

 

Задача взята отсюда.

Здесь можно найти код программы на Ideone.com.

ML12

Условие задачи:

Даны [latex]x,y,z[/latex]. Вычислить  [latex] a = x \arctan{y} — e^{1-z}[/latex] и [latex] b = \frac{\sqrt{\left|3-x^2 \right|}- \sqrt[3]{\left|y-x \right|}}{1-\frac{x^2}{2}+\frac{y^2}{4}-\frac{z^2}{8}}.[/latex]

Алгоритм решения:

1)В условии задачи не указано какие должны быть числа [latex]x,y,z[/latex] , поэтому правильнее всего использовать диапазон long double, чтобы включить как можно больше значений.

2)Подключим библиотеку <cmath> , с помощью которой подключим математические функции и, придерживаясь правил порядка вычислений, расставим скобки.

Код программы:

Тесты:

Ввод: # Вывод: #
x 1 a 0.971813
y 2 b 1.10457
z 3
Ввод: # Вывод: #
x -9 a -16.1645
y 13 b 2.19263
z 0
Ввод: # Вывод: #
x 7 a 10.361
y 11 b -0.107389
z 21

Здесь находится код в ideone.com

ML4

Алина Гончарова
Алина Гончарова

Latest posts by Алина Гончарова (see all)

Задача:
Даны два действительных положительных числа. Найти среднее арифметическое и среднее геометрическое этих чисел.

Решение:

Так как нам в задаче не указано какими будут числа по длинне, мы используем тип данных long double, который поможет охватить весь их диапозон.

Для того, чтобы найти среднее арифметическое чисел нам нужно воспользоваться формулой [latex]A=\frac{x_1+x_2+ \ldots +x_n}{n}[/latex] , но так как у нас задано всего два числа, будем пользоваться этой формулой: [latex]A=\frac{a+b}{2}[/latex]

Среднее геометрическое вычисляется по формуле :[latex]G=\sqrt[n]{x_1+x_2+ \ldots +x_n}[/latex] , но нам понадобиться формула только для двух чисел: [latex]G=\sqrt{a\cdot b }[/latex]

Тесты:

 

Входные данные Выходные данные
1. -1 -3 -2

1.73205

2. 5 6 5.5

5,47723

3.  4 6  5

4.89898

4.  100 2.6  51.3

16.1245

Код: 

 

Задача взята отсюда.

Код программы.