Informática, pregunta formulada por vanesamoran3491, hace 1 año

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 a la pregunta

Contestado por LeonardoDY
3

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");

Otras preguntas