Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
COMPUTACIONALES
CDIGO:
import javax.swing.*;
public class FactorialSumatoria{
public static void main(String args[]){
float numero, j;
float fact=1, suma=1;
numero=Integer.parseInt(JOptionPane.showInputDialog("Ingresa un numero:
"));
for(j=1; j<=numero; j++){
fact=fact*j;
suma=suma+(1/fact);
}
JOptionPane.showMessageDialog(null,"1+(1/1!)+...+(1/"+numero+"!)="+suma);
}
}
Cambia la codificacin en JAVA del programa anterior y esta vez utiliza long para
los enteros. Ve si se produce alguna diferencia cuando se factorizan nmeros
grandes. Comenta por qu hubo o por qu no hubo diferencias.
CDIGO:
import javax.swing.*;
public class FactorDeUnNumero{
public static void main(String args[]){
long n, d=2, r, m, contador;
String Resultado="";
n=Integer.parseInt(JOptionPane.showInputDialog("Ingresa un numero entero
positivo: "));
m=n;
while(n>1){
contador=0;
while((n%d)==0){
++contador;
n/=d;
}
if(contador>0){
Resultado=Resultado+""+("("+d+"^"+contador+")");
}
d++;
}
JOptionPane.showMessageDialog(null,"Los factores de "+m+"
son:\n"+Resultado);
}
}
Al cambiar las variables de tipo int a long en este programa, no afecta en nada la
ejecucin cuando se utilizan nmeros grandes, o sea que la diferencia en nula pues tanto
int como long usan 32 bits, as que son equivalentes y no hay diferencia.