2-Leer un número entero de tres dígitos y determinar si al menos dos de sus tres dígitos son iguales.
6-Leer tres números enteros y mostrarlos ascendentemente.
9-Leer un número entero de tres dígitos y determinar cuántos dígitos primos tiene.
14-Leer un número entero menor que 50 y positivo y determinar si es un número primo.
Respuestas
Respuesta:
Explicación:
Los dígitos de un número entero se pueden determinar mediante el operador módulo (%) el cual devuelve el resto de la división entre dos números, para sacar las unidades podemos hacer el resto de la división entre el número y 10.
Las decenas las sacamos haciendo el resto entre 100 y luego dividiendo por 10.
Y las centenas haciendo el resto entre 1000 y dividiendo por 100.
Si el lenguaje a utilizar no tiene el operador módulo se puede dividir el número por el divisor, restarle la parte entera y multiplicar lo que da por el divisor para tener el resto.
Vamos a usar el lenguaje C a falta de especificación de lenguaje:
2) Hacemos el procedimiento y comparamos los dígitos:
cin>>numero;
unidad=numero%10;
decena=(numero%100)/10;
centena=(numero%1000)/100;
if((unidad==decena)||(unidad==centena)||(centena==decena))
printf("tiene dos dígitos iguales");
else
printf("no tiene dígitos iguales");
6) Esta vez podemos hacer un arreglo de 3 números que luego ordenamos:
int aux, num[]={0,0,0};
cin>>aux;
for(int i=0;i<3;i++){
cin>>num[i];
}
for(int i=0;i<2;i++){//Ordeno el arreglo.
for(int j=1;j<3;j++){
if(num[i]>num[j]){
int a=num[i];
num[i]=num[j];
num[j]=a;}
}
}
for(int i=0;i<3;i++)
printf("%d, ",num[i]);
9) Separamos sus dígitos y vemos cuales son primos sabiendo que los números primos entre 1 y 10 son 2, 3, 5 y 7:
int numero, cant=0;
cin>>numero;
unidad=numero%10;
decena=(numero%100)/10;
centena=(numero%1000)/100;
if((unidad==2)||(unidad==3)||(unidad==5)||(unidad==7))
cant++;
if((decena==2)||(decena==3)||(decena==5)||(decena==7))
cant++;
if((centena==2)||(centena==3)||(centena==5)||(centena==7))
cant++;
printf("Tiene %d digitos primos\n",cant);
14) Debemos comprobar que el número sea primo a través de sus divisores y usando el operador resto.
int numero, n=2, comp=0;
cin>>numero;
while(n<(numero-1)){
if(numero%n==0) comp=1;//Tiene más divisores aparte de 1 y sí mismo, es compuesto
}
if(comp==0) printf("Es un número primo");
else ("Es un numero compuesto");