Это зашибись, но если задачу сперва математически чуть упростить, получится, что
A(n) = n - 1.
Кстати, это и не скрывается - посмотри на sample input/sample output.
Нужны какие-то понятные правила игры, Насколько математику можно применять при написании программы? Писать программу, которая выплевывает число на 1 меньше введенного, не очень интересно. А полностью запрещать использовать математику тоже ведь нельзя, при таком жестком запрете ни одну программу не напишешь.
PS. Ладно, лови прогу.
https://ideone.com/bk903A Ввод сам прикрутишь
A (1) =0.
Let elements A(1), A(2) ..., A(3m
) are constructed. Then elements A(3m
+1), ..., A(3
m+1) accept
values
A(3m
)+3m
, A(3m
- 1)+3m
,...,A(1)+ 3
m
, A(1)+2*3
m
, A(2)+2*3m
,...,A(3
m
) +2*3m
accordingly.
Write the program which on set N finds A(N).
Input
The input contains number N (1 <= N <= 1,000,000,000).
Output
You are to deduce A(N).