Problema: 1132
Enunciado:
Escreva um algoritmo que leia 2 valores inteiros X e Y calcule a soma dos números que não são múltiplos de 13 entre X e Y, incluindo ambos.
Linguagem: C++
Neste exercício, para fazer a soma de todos os números foi utilizado 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 26 27 28 | #include <iostream> #include <iomanip> using namespace std; int main() { int n1, n2, aux, soma_n13; int n1_13, n2_13, soma_13; cin >> n1 >> n2; // verificar maior if(n1>n2){ aux = n1; n1 = n2; n2 = aux; } n1--; n1_13 = n1+13-n1%13; // encontrar primeiro multiplo de 13 n2_13 = n2-n2%13; // encontrar o ultimo multiplo de 13 // fazer a soma da Progressao aritmetica int num_soma13 = (n2_13-n1_13)/13+1; soma_13 = num_soma13*(n1_13+n2_13)/2; n1++; soma_n13 = (n2-n1+1)*(n1+n2)/2; cout << soma_n13-soma_13 << endl; return 0; } |
Nenhum comentário:
Postar um comentário