Solo so ocupa de realizar los calculos, no se permite introducir ni extraer datos en el archivo ejecutable, ni sikiera esta listo para ejecutar, pero se puede insertar en cualquier codigo fuente con cortar y pegar y se pueden variar los valores de entrada antes de compilar...
Lo realiza con un compilador para microchips, asi que no se si sera compatible con los compiladores mas utilizados para c++... bueno, ahi va:
Ley ayer el problema del gato, y no e mirado por supuesto ninguna solucion en mensajes anteriores(salvo el dibujo con los gatos de junk) y e tardado unas horas en resolverlo....he comprobado con unos cuantos codigos y me funciona...
///EL GATO EN EL SOMBRERO//////////////////////////////////////////////
float gatosA=0, gatosL=0;
// gatosA=0 Altura de nuestro gato
// gatosL=0 Gatos que limpian(altura 1)
gatosA=9;//3//5//9//216//64 //Declaracion de la Altura de nuestro gato.
gatosL=4;//2//4//4//125//27 //Declaracion del Numero de gatos que limpian
//gatos por sombrero
float gatosNA=0, gatosNAi=0 , gatosS=0, gatosSi=0;
// gatosNA=0 Numero de Alturas de gatos
// gatosNAi=0 Incremento
// gatosS=0 Gatos por sombrero , o mejor dicho posibles sombreros
// gatosSi=0 Incremento
//gatos Altura
float gatosAct=0, gatosActT=0, gatosAi=0, gatosAnt=0, gatosAT=0;//Altura total de los gatos
// gatosAct=0 Es el numero de Altura de gatosa en el que estamos
// gatosActT=0 El la suma de las alturas de todos los gatos de el numero de altura en el que estamos
// gatosAi=0 Incremento
// gatosAnt=0 Altura del gato anterior
// gatosAT=0 Altura total de los gatos
////Comprobar si Concuerda con la altura de nuestro gato
gatosNA=0; gatosNAi=0;//gatosNA no es usada
for (gatosNA=0 ; 1!=gatosAct ; gatosNAi++)
{
//gatos por sombrero
gatosS=0; gatosSi=0;
for (gatosSi=0 ; gatosL>gatosS ; gatosSi++)
{
gatosS=pow(gatosSi+1,gatosNAi+1);
}
//gatos Altura
gatosAct=0; gatosActT=0; gatosAi=0; gatosAnt=0; gatosAT=0;
for ( gatosAi=0, gatosAct=gatosA ,gatosAT=gatosA ; gatosNAi>=gatosAi ; gatosAi++)
{
gatosAnt=gatosAct;
gatosAct=gatosAnt*1/(gatosSi+1);
gatosActT=gatosAct*(gatosS/(pow(gatosSi,gatosNAi-gatosAi)));
gatosAT=gatosAT+gatosActT;
}
}
//gatos NO trabajan
float gatosnT=0, gatosnTi=0;
//gatosnT=0 Numero total de gatos
//gatosnTi=0 Incremento
for (gatosnTi=0 ; gatosNAi>gatosnTi ; gatosnTi++)
{
gatosnT=gatosnT+(gatosS/(pow(gatosSi,(gatosNAi-gatosnTi))));
}
//gatosnT=gatosnT-gatosL;
gatosnT=gatosnT;//Devuelve el numero de gatos que no trabajan
gatosAT=gatosAT;//Devuelve la suma de las alturas de todos los gatos
float FIN_GATO=0;
}
//FIN de gato sombrero