Suerte.
Problema 1.-
/*
*Bueno, este codiguito esta sumamente fácil, el problema es que tarda mucho
*para sacar todos los resultados posibles. Los que yo calcule son 882, pero
*como cada resultado puede tener seis combinaciones diferentes el resultado
*disminuye a 147 aumentando la condicion: "b<=c && c<=d" en "**-**", al Lic.
*Felipez le gusta poner ejercicios interesantes, asi que quizas si buscan en
*Google encuentran algo mejor para realizar este problemilla.
*La salida de los datos se los dejo en el archivo llamado Output P_3_1.txt
*Jh74N
*www.sitio9.blogspot.com
*www.todoyonada.blogspot.com
*/
class P_3_1
{
public static void main(String[] args)
{
int count = 0;
boolean bb, bc, bd;
for(int a=2; a<=200; a++)
{
bb = true;
for(int b=2; bb; b++)
{
bc = true;
for(int c=2; bc; c++)
{
bd = true;
for(int d=2; bd; d++)
{
if( (int)Math.pow(a,3) == (int)Math.pow(b,3) + (int)Math.pow(c,3) + (int)Math.pow(d,3) && b<=c && c<=d)//**-**
{
count++;
System.out.println(count+".- "+"("+a+","+b+","+c+","+d+")");
}
if( (int)Math.pow(a,3) < (int)Math.pow(b,3) + (int)Math.pow(c,3) + (int)Math.pow(d,3) )
bd = false;
}
if( (int)Math.pow(a,3) < (int)Math.pow(b,3) + (int)Math.pow(c+1,3) + 8 )
bc = false;
}
if( (int)Math.pow(a,3) < (int)Math.pow(b+1,3) + 8 + 8 )
bb = false;
}
}
}
}
Output P_3_1.txt
Problema 2.-
class P_3_2
{
public static void main (String [] args)
{
int n, n1, a, b1, b2;
System.out.print ("n = ");
n = Leer.datoInt();
n1 = n;
a = 1;
b1 = 0;
b2 = 0;
while (a <= n)
{
a *= 2; //Esto es como poner "a = a * 2".
}
a /= 2;
while (n1 != 0)
{
n1 -= a;
b1++; //Esto es como poner "b1 = b1 + 1".
while (a > n1)
a /= 2;
}
for (int i = (int) (Math.log (n) / Math.log (10)) ; i >= 0 ; i--)
{
if ((n / ((int)Math.pow (10, i))) % 10 == 1 || (n / (int)(Math.pow (10, i))) % 10 == 2 || (n / ((int)Math.pow (10, i))) % 10 == 4 || (n / ((int)Math.pow (10, i))) % 10 == 8)
b2 += 1;
if ((n / ((int)Math.pow (10, i))) % 10 == 3 || (n / (int)(Math.pow (10, i))) % 10 == 5 || (n / ((int)Math.pow (10, i))) % 10 == 6 || (n / ((int)Math.pow (10, i))) % 10 == 9)
b2 += 2;
if ((n / ((int)Math.pow (10, i))) % 10 == 7)
b2 += 3;
}
System.out.println (" => " + b1 +" "+ b2);
}
}
0 comentarios:
Publicar un comentario