1871 - Zero vale Zero
Ignorando o coitado do zero, como se o zero à esquerda não fosse o suficiente...
Descrição
Solução
O problemsetter desse problema nos fez um grande favor: ele já deixou claro que os números a serem somados não terão zero, ou seja, só precisamos tirar o zero do resultado da soma. Com isso, podemos transformar a soma em string e retirar todos os zeros presentes no resultado. Em cada linguagem eu lido com isso de uma maneira diferente, confira como eu fiz na sua linguagem escolhida.
#include <string.h>
#include <stdio.h>
int main(){
int M, N, n, soma;
char aux, resposta[11];
while(scanf("%d %d", &M, &N)){
if(!M && !N) break;
memset(resposta, '\0', sizeof(resposta));
n = 0;
soma = M + N;
while(soma){
if(soma % 10) resposta[n++] = (soma % 10) + '0';
soma /= 10;
}
for(int i = 0; i < n/2; ++i){
aux = resposta[i];
resposta[i] = resposta[n - i - 1];
resposta[n - i - 1] = aux;
}
printf("%s\n", resposta);
}
return 0;
}
Last updated
Was this helpful?