Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lucas fantin

programa c

Recommended Posts

Alguém pode me ajudar nisso, não encontro solução,tem que usar o do...while ou while. Tipo se digito 1 tem que aparecer -9, se digito 8 tem que aparecer 17.

 

A partir da sucessão a seguir, fazer um programa que faça a leitura do termo de ordem desejado, mostrando-o e logo após solicitando se deseja mais algum termo. Se a resposta for negativa, encerrar o programa.

 

ORDEM: 1 2 3 4 5 6 7 8 ...

SUCESSÃO: -9 -7 -1 1 7 9 15 17 ...

Compartilhar este post


Link para o post
Compartilhar em outros sites
Dá pra perceber que a diferença entre os termos da série alterna entre +2 e +6:
-9 (+2) -7 (+6) -1 (+2) 1 (+6) 7 (+2) 9 (+6) 15 (+2) 17
Se você considerar a posição inicial como 0 e observar que a quantidade de +2 e +6 depende diretamente da quantidade de ímpares entre 0 e n (a posição que você tem que ler no programa), a formula p/ obter o valor dada a posição n é
-9 + 2*ceil(n/2) + 6*floor(n/2)
onde
ceil(n/2) = quantidade de números ímpares entre 0 e n (inclusive)
floor(n/2) = quantidade de números pares entre 0 e n (inclusive)

Corrija os índices se precisar ler a posição inicial como 1 (faça as contas com n-1). Observe que essa conta funciona mesmo quando você informa n=0 (-9+0+0 = -9)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.