nuno35 0 Posted October 1, 2017 Report Share Posted October 1, 2017 Boa tarde estou a tentar fazer uma funçao que some os digitos de um numero a funçao recebe um numero de 1 ate 999 e por exemplo se for 234 tem de devolver 9(2+3+4). Estava a tentar fazer usando o resto da divisao mas nao estou a conseguir alguma ajuda sff Link to post Share on other sites
Baderous 31 Posted October 18, 2017 Report Share Posted October 18, 2017 Estás a ir pelo caminho certo, tens de usar a divisão e resto da divisão do número por 10, sucessivamente, por exemplo como neste esquema à la escola primária: 234 |_ 10 4 23 |_ 10 3 2 |_ 10 2 0 O que pretendes é ir somando os restos das divisões por 10 enquanto o quociente for diferente de zero. Quando for zero, devolves o valor acumulado. Para o efeito podes, na tua função principal, chamar uma função auxiliar com um acumulador inicializado a 0. Depois, na função auxiliar, podes usar a função divMod que te devolve um par com o quociente e resto da divisão e em função do quociente ser 0 ou não, decides o que fazer: - ou invocar recursivamente a função auxiliar, passando-lhe o novo dividendo (o quociente da divisão anterior) e somando o resto da divisão ao acumulador; - ou somar apenas o resto da divisão ao acumulador e retornar esse valor. Link to post Share on other sites
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now