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>intmain(){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); }return0;}
#include<iostream>#include<sstream>usingnamespace std;intmain(){int M, N, soma; string aux, resposta; stringstream fluxo;while(cin >> M >> N){if(!M &&!N) break; soma = M + N;fluxo.clear();fluxo.str(""); fluxo << soma; fluxo >> aux; resposta ="";for(int i =0; i <aux.length(); ++i){if(aux[i] !='0') resposta +=aux[i]; } cout << resposta << endl; }return0;}
whileTrue:try: M, N = [int(x)for x ininput().strip().split(' ')]if(M ==0and N ==0):break soma =str(M + N) resposta = soma.replace('0', '')print(resposta)exceptEOFError:break