Problema: 1159
Enunciado:
O programa deve ler um valor inteiro X indefinidas vezes. (O programa irá parar quando o valor de X for igual a 0). Para cada X lido, imprima a soma dos 5 pares consecutivos a partir de X, inclusive o X , se for par. Se o valor de entrada for 4, por exemplo, a saída deve ser 40, que é o resultado da operação: 4+6+8+10+12, enquanto que se o valor de entrada for 11, por exemplo, a saída deve ser 80, que é a soma de 12+14+16+18+20.
Foi utilizada a fórmula fechada da progressão aritmética para fazer o cálculo sem precisar de um for.
1 2 3 4 5 6 7 8 9 10 11 12 | #include <iostream> using namespace std; int main() { int x; cin >> x; while (x!=0) { x = ((x&1)==1)? x+1 : x; cout << ((5 * ((x<<1) + 8)) >>1) << endl; cin >> x; } return 0; } |
Nenhum comentário:
Postar um comentário