Problema: 1101
Enunciado:
Leia um conjunto não determinado de pares de valores M e N (parar quando algum dos valores for menor ou igual a zero). Para cada par lido, mostre a sequência do menor até o maior e a soma dos inteiros consecutivos entre eles (incluindo o N e M).
Linguagem: C++
Primeiramente é lido o valor de x e y. Caso o x seja maior, as duas variáveis são invertidas.
Posteriormente, todos os valores a partir de x são somados numa variável soma, até chegar em y.
É possível acelerar o código utilizando a fórmula fechada da Progressão aritmética.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | #include <iostream> using namespace std; int main() { int x, y, aux; cin >> x >> y; while(x>0 and y >0){ int soma = 0; if(x>y){ // swap aux = x; x = y; y = aux; } while(x<=y){ // sum numbers cout << x << " "; soma += x; x++; } cout << "Sum=" << soma << endl; cin >> x >> y; } return 0; } |
Nenhum comentário:
Postar um comentário