Hola a todos les keria hacer una pregunta alguien no sabra como seria la formula en pseudocodigo para q el programa reconozca q el numero ingresado elevado a la 2 tiene 3 digitos o 4 o 5...etc
Bueno me voy llendo
Gracias de antemano
salu2!
pedir numero
y = leer()
y = y * y
while y >= 10
{
y=y/10
contador = contador+1
}
print contador
No entiendo mucho lo que quieres hacer, algo así: (Está en PHP)
$strNumero = 12;
$strElevado = $strNumero * $strNumero;
echo '<b>El resultado es: </b>'.$strElevado.' <b>y tiene un total de caracteres de: </b>'.strlen($strElevado);
PoC:
El resultado es: 144 y tiene un total de caracteres de: 3
multiplicas la variable por si misma y si el resultado es mayor a 99 es por que tiene 3 o más dígitos naturales (Y).
Cita de: LS en 10 Mayo 2010, 06:21 AM
multiplicas la variable por si misma y si el resultado es mayor a 99 es por que tiene 3 o más dígitos reales (Y).
Acá te lo dejo como dice LS:
Algoritmo Dígitos
Léxico
número, resultado: Real
Inicio
Escribir ('Ingrese un número')
Leer (número)
resultado:= número*número
según
resultado<9: Escribir ('El número tiene un dígito')
resultado<99: Escribir ('El número tiene dos dígitos')
99<resultado<999: Escribir ('El número tiene tres dígitos')
999<resultado<9999: Escribir ('El número tiene cuatro dígitos')
fsegún {Fin según}
Fin.
P.D.: Después si querés saber si tiene más dígitos, tendrías que continuar agregando condiciones.
Saludos.
Hola a todos muchas gracias por sus respuesta me sirvio bien en lo q necesitaba solo tengo una pregunta mas usando el miestras o repetir ingreso una x cantidad de vesces un numero alguien sabria como hacer para q el programa reconozca cuales fueron los 10 o 5 o 4 numeros mayores ingresados?
Emmm para eso necesitas un vector, para cuando termines de ingresar cierta cantidad de numeros. Ordenas el vector dependiendo de las necesidades (Des- Asc), y seleccionas la cantidad de numeros a mostrar. (Eso fue lo que entendí, de no ser así, especifica más lo que quieres hacer)
muy complicado lo que pides, sobretodo si no le das una limitante de numeros...
mas no imposible... si entiendes de arboles binarios es facil, ( pero si vas comensando kisas no le entiendas... =/
al codigo anterior le agregamos un do while que nos pregunte si continuar
Citardo{
pedir numero
y = leer()
y = y * y
z=y
while y >= 10
{
y=y/10
contador = contador+1
}
contruir arbol (z) // esto es un metodo
print contador
}while continuar ingresando?
//imprimimos los 10 mayores
arbol en post orden -> arreglo[]
imprimir arreglo[1....10]
el arbol binario es algo complicado =/
pero consiste mas o menos asi
Conceptos: nodo (cada valor del arbol)
algoritmo
Citarmetodo arbol (recive 'numero')
if nodo vacio
{
nodo = numero}
else
if numero > 10
ala izquerda del nodo
regresa ala primer linea
else
ala derecha del nodo
regresa ala primer linea
esto nos generaria una "arbol" con los valores mas chikos ala derecha y los mas altos ala izuquierda
con eso puedes saber los 10 mas grandes o los 10 mas pekeños.. o los 10 de enmedio.. y otras cosas XD
para entender tienes que leer sobre arboles...
PD: perdon por combinarte objetos con estructurado... eske casi no recuerdo los arboles binarios... pero lee sobre ellos.. es tu solucion optima! =3