Problema: 1158
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.
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