Série de sequência de números
23/07/2018
0
{ Escreva um algoritmo que calcule e escreva a soma dos dez primeiros termos da seguinte serie: 2/500 - 5/450 + 2/400 - 5/350 + ... }
#include <iostream>
#include <cstdlib>
#include <stdio.h>
using namespace std;
int main()
{
setlocale(LC_ALL, "Portuguese");
int i, denominador;
float s;
denominador = 500;
s = 0;
for (i=1;i<=10;i++)
{
if ((i % 2) != 0)
{
s = s + (2/denominador);
}
else
{
s = s - (5/denominador);
}
denominador = denominador - 50;
cout << s << "/" << denominador;
}
return 0;
}
D sempre 0250. Não descubro o erro.
Paulo Kutwak
Post mais votado
23/07/2018
No seu if (if ((i % 2) != 0)), não seria, if ((i % 2) == 0)? Uma vez que os pares deverão dividir 2/ denominador.
Fernando Duwe
Mais Posts
26/07/2018
Paulo Kutwak
26/07/2018
Paulo Kutwak
#include <stdio.h>
int main() {
int denominador = 500;
float s = 0;
for (int i=1; i<=10; i++) {
if ((i % 2) != 0)
s = s + (2 / float(denominador));
else
s = s - (5 / float(denominador));
denominador = denominador - 50;
}
printf("S = 2/500 - 5/450 + 2/400 - 5/350 + ...");
printf("\\n\\n");
printf("S = %10.7f\\n", s);
}
Não entendi porque fazer a conversão para float, e se fosse tudo inteiro? Coloquei tudo inteiro e não funcionou.
26/07/2018
Paulo Kutwak
Clique aqui para fazer login e interagir na Comunidade :)