Skip to content

Instantly share code, notes, and snippets.

@diegotoral
Last active December 15, 2015 13:59
Show Gist options
  • Save diegotoral/5271335 to your computer and use it in GitHub Desktop.
Save diegotoral/5271335 to your computer and use it in GitHub Desktop.
Seja S uma sequência cujos valores iniciais são {1,1,2,4,3,9,4,16,5,...}. Escreva um programa que, dado um número n (lido da entrada padrão), envia para a saída padrão a soma nos n primeiros números da sequência S.
#include <stdio.h>
int s (int x)
{
if (x == 0)
return 0;
else if (x == 1)
return 1;
else
return x * x;
}
int
main (int argc, char *argv[])
{
int i, n, soma = 0;
scanf("%d", &n);
if (n % 2 == 0)
{
for (i = 1; i <= n / 2; i += 1)
{
soma += i + (i * i);
}
}
else
{
for (i = 1; i <= (n - 1) / 2; i += 1)
{
soma += i + (i * i);
}
soma += (n + 1) / 2;
}
printf("\nSoma: %d\n", soma);
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment