Pesquisar este blog

Livros Recomendados

sexta-feira, 7 de agosto de 2020

URI - 1158 - Soma de Ímpares Consecutivos III - Iniciante - C++

Plataforma: URI
Problema1158

Enunciado:
Leia um valor inteiro N que é a quantidade de casos de teste que vem a seguir. Cada caso de teste consiste de dois inteiros X e Y. Você deve apresentar a soma de Y ímpares consecutivos a partir de X inclusive o próprio X se ele for ímpar. 
Por exemplo: para a entrada 4 5, a saída deve ser 45, que é equivalente à: 5 + 7 + 9 + 11 + 13 para a entrada 7 4, a saída deve ser 40, que é equivalente à: 7 + 9 + 11 + 13.

Linguagem: C++

Solução:
Este problema pode ser resolvido utilizando um for para fazer o cálculo, entretanto é possível acelerar utilizando a fórmula de progressão aritmética diretamente.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
#include <iostream>

using namespace std; 

int main() 
{
 long long n, x, y;
 cin >> n;
 while(n--){
  cin >> x >> y;
  x = x|1;
  // formula da PA
  cout << y*(x+(x+2*(y-1)))/2 << endl;
 }
 
    return 0; 
}

Nenhum comentário:

Postar um comentário

Postagem em destaque

URI (BEECROWD) - 2158 - Helping Uncle Cláudio (Ajudando o Tio Cláudio) - Matemática - C, C++ e Haskell

Buenas! Estou aqui mais uma vez para resolver um problema de Matemática! Agora tenho resolvido alguns dessa categoria, pra que vocês possam ...

Postagens mais visitadas