Plataforma: URI
Problema: 1149
Enunciado:
Faça um algoritmo para ler um valor A e um valor N. Imprimir a soma de A para cada i com os valores (0 <= i <= N-1). Enquanto N for negativo ou ZERO, um novo N(apenas N) deve ser lido.
Linguagem: C
Solução:
O enunciado é um pouco confuso, mas a proposta do problema é somar (A+0) + (A+1) + (A+2) + ... (A+(N-1)).
Note que, no segundo laço de repetição while, no comando resposta += (A+i++);, o valor de i é incrementado na atribuição utilizando o operador de pós-incremento. Ou seja, o cálculo e a atribuição serão realizados normalmente e depois o valor de i será incrementado. É um ótimo recurso, mas é necessário que você domine os operadores para evitar o uso incorreto.
#include <stdio.h>
int main() {
int A;
int N;
int i=0;
int resposta=0;
scanf("%i",&A);
while(1){
scanf("%i",&N);
if (N>0)
break;
}
while (i<N)
resposta += (A+i++);
printf("%i\n", resposta);
return 0;
}