TMAROD 0 Denunciar post Postado Maio 23, 2006 Alguem poderia me ajudar por favor.Estou precisando de um algoritmo para fazer uma função para calcular quais os números capicuas e quadrado perfeito ao mesmo tempo no intervalo de 100 a 5000.OBS: Números capicuas são aqueles que são lidos da esquerda para a direita ou da direita para a esquerda. Por exemplo: 434, 606, 2002, 1001, 121, 3443. Compartilhar este post Link para o post Compartilhar em outros sites
ricci ottadnot 4 Denunciar post Postado Maio 23, 2006 para os numeros capicuas você pode desenvolver a seguinte estrutura: 1. inverter o numero2. comparo o numero invertido com o q estou analisando3. se o inverso do numero for igual, eh um capicuaIsto eh meio obvio.. você deve estar encontrando dificuldades para encontrar o numero invertido.. eis a logica: suponha que você tenha o numero 1987 e deseja encontrar o seu inverso.. 1. você divide este numero por 10 e aguarda o resto da divisao -> você tera o ultimo elemento: 7 2. aguarde a divisao inteira do numero por 10 multiplique o resto por 10 e some mais o resto da divisao inteira por 10 -> você tera 78 repita o processo 1 -> você tera o numero 19 repita o processo 2 -> você tera o o numero 789 e faça isso ate q a divisao inteira seja igual a 0.. numero,resto,divint: tipo inteiro// numero sera o numero q você quer inverter// resto guardara o resto da divisao p 10// divint guardara a divisao inteira do numro p 10divint <- numeroresto <- divint mod 10enquanto (divint div 10 <> 0) faça divint <- divint div 10 resto <- (resto * 10)+ divint mod 10fimenquanto //pronto! a variavel resto esta contido o inverso de numero Compartilhar este post Link para o post Compartilhar em outros sites