А136ж

Задача: Даны натуральное число [latex]n[/latex], действительные числа  [latex]{ a }_{ 1 },\dots ,{ a }_{ n }[/latex]

Вычислить:  [latex]{ a }_{ 1 }-{ a }_{ 2 }+{ a }_{ 3 }-\dots +{ (-1) }^{ n+1 }{ a }_{n }[/latex]

(В этой задаче не требуется хранение исходных последовательностей значений)

n  [latex]{ a }_{ 1 },\dots ,{ a }_{ n }[/latex] Sum
5 7 4 3 3 3 6
10  1 1 2 2 3 3 4 4 5 6 -1
15 66 456 3334 23 0.86 -587 4332 82223 0.0008 0 -0.75 44 52 7777 43 -82108.9
5  0.0005 0.0006 0.06 0.00008 0.00003 0.05985

Код программы на С++

Код программы на Java

Смысл решения прост — мы считываем количество чисел, которые нам в последствии предоставят. делается это для того, чтобы наш цикл мог точно закончится. Затем считывая каждое число присваиваем ему соответствующий знак и суммируем. Как и просили в условии — исходные значения не сохраняются.

Ссылка C++

Ссылка Java

 

Царев Николай Александрович
Царев Николай Александрович

Latest posts by Царев Николай Александрович (see all)

2 thoughts on “А136ж

  1. Возведение в степень для обозначения чередования знаков принято в математике. Но это не алгоритм, а только обозначение.
    А алгоритмов можно придумать несколько:
    — следить за чётностью счётчика i: i % 2? 1 : -1,
    — описать int sign = 1 и менять знак в цикле: sign = -sign.

    И нужна ссылка для выполнения кода. Например, в ideone.com.