А165и

Задача:
Даны действительные числа [latex]a_1 , a_2,\ldots[/latex]. Известно, что [latex]a_{1} > 0[/latex] и
что среди [latex]a_2 , a_3,\ldots[/latex] есть хотя бы одно отрицательное число. Пусть
[latex]a_{1} ,\ldots, a_{n}[/latex] – члены данной последовательности, предшествующие
первому отрицательному члену ( n заранее неизвестно). Получить:
и) [latex]n+a_{n}[/latex];

Тесты:

Последовательность [latex]a_{i}[/latex] [latex]n+a_{n}[/latex] Результат
3 1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 2 3 8 4 -6 24 Пройден
2.7183 -0.0001 3.7183 Пройден
2.7182 81 28 -90 45 -90 31 Пройден

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

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

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

Детали реализации:
Ввод элементов последовательности осуществляется средствами языка Си через подключенный заголовочный файл <cstdio>. Числа из входного потока сохраняются в переменную целочисленного типа с двойной точностью double, так как по условию являются вещественными.
Протестировать программу можно по ссылке: http://ideone.com/qn7kfJ
Реализация на Java: http://ideone.com/rHCk2X

Related Images:

4 thoughts on “А165и

    • — Добавил.
      — Надеюсь, правильно понял ваше замечание. Привел таблицу к виду, который подразумевается по условию: «данная последовательность -> вычисленное значение -> результат, комментарии».

Добавить комментарий