A166

Задача: 

Дано натуральное число [latex]n[/latex], действительные числа  [latex]{a}_{1},…,{a}_{n}[/latex] . Получить числа[latex]{b}_{1},…,{b}_{n}[/latex], которые связаны с [latex]{a}_{1},…,{a}_{n}[/latex]  следующим образом:

[latex]{ b }_{ 1 }={ a }_{ 1 },{ \quad b }_{ n }={ a }_{ n },\quad { b }_{ i }=\frac { { a }_{ i+1 }\quad -\quad { a }_{ i } }{ 3 } ,\quad i=2,…,n-1[/latex]

Тесты:                               (числа разделяются «|» для удобного чтения)

Ввод Вывод Комментарий:
3 | 3 | 3 | 3 3 | 0 | 3 Работает.
4 | 3.14 | -2.71 | 42 | 10 3.14 | 14.9033 | -10.6667 | 10 Работает.
1 | 2 | 3 | 4 | 5 2 Работает.
5 | 4 | -3 | 2 | -1 | 0 4 | 1.66667 | -1 | 0.333333 | 0 Работает.

Объяснение переменных:

[latex]n[/latex] — это  [latex]n[/latex]  из условия.

[latex]a1, a2[/latex] — динамические числа, которые меняются с каждым шагом цикла.  [latex]a1[/latex]  — вводится с клавиатуры.  [latex]a2[/latex] — дублируется с [latex]a1[/latex]  посредством шага цикла. Нужны для выполнения условия [latex]{ b }_{ i }=\frac { { a }_{ i+1 }\quad -\quad { a }_{ i } }{ 3 }[/latex]

 

Код:   Проверить на ideone.

Алгоритм выполнения объясняется в комментариях в коде

 

Особенности:

  1. Переменные:
    • int  n<code>;.  <code>int<code> , ибо так требует негласное условие задачи.
    • double a1, a2<code>;.   <code>double<code>  так как в задаче не обговаривалось на каком числовом поле её следует выполнять, то я предпочёл [latex]a1,a2 \in \Re [/latex] .
  2. Цикл <code>for<code> (укажу особенности):
      • (i++, a2 = a1)<code>   - шаг цикла (модификация). Увеличение счётчика на единицу, присвоение [latex]a2[/latex] значение [latex]a1[/latex]

    Сложность этой задачи сводится к понимаю a2 = a1<code>. Цикл выполнит шаг тогда, когда он выполнил задачу своего "тела". Так как на следущее выполнение "тела" [latex]a2[/latex] "не успеет" обновится, то [latex]a2[/latex] становится "предыдущим" элементом

Итог работы:

Код обрабатывает поток данных [latex]n[/latex] раз. Это значит, что лишние числа будут игнорироваться.

Related Images: