Mamy dany wzór na obliczanie elementów ciągu.
\(\displaystyle{ C_{n+1}= \frac{1}{2} \cdot C_{n}- \frac{1}{4} \left( 5 C_{n}+2 \right) \left( \left( -1 \right) ^{C_{n}}-1 \right)}\) i tak np dla \(\displaystyle{ C_0=11}\) mamy:
\(\displaystyle{ 11,34,17,52,26,13,40,20,10,5,16,8,4,2,1}\).
Zawsze ostatnim elementem jest \(\displaystyle{ 1}\).
Zadanie brzmi: Napisz procedure rekurencyjna
c(x,n)
, która dla podanego argumentu całkowitego \(\displaystyle{ x>0}\) oblicza jego n-ty wyraz ciagu i wypisuje na ekranie. (Ciąg ten zaczyna się od \(\displaystyle{ x}\) a kończy na \(\displaystyle{ 1}\))Napisałem narazie taki kod procedury:
Kod: Zaznacz cały
void c(int x, int n)
{
if (x > 0)
{
if (x != 1)
{
for (int i = 0; i < n - 1; i++)
{
x = (0.5*x) - 0.25*(5 * x + 2)*(pow(-1, x) - 1);
if (i == n - 2){ cout << x << endl; }
}
}
else cout << x << endl;
}
}
main()
{
c(11,5);
}