Tengo que escribir un programa en C, que lea un valor entero positivo y me indique el número

Necesito que me ayudes con estos 3 ejercicios es urgente por favor!
Ejercicio 1 Hay que escribir un programa que lea un valor entero positivo e indique si es un numero
primo o no.
Ejercicio 2 Hay que escribir un programa al que se le pase un valor entero que positivo y calcule el
valor de 2k. Antes de que pregunta´eis: no, no vale usar pow(2, k) :-)
Ejercicio 3 El tercer problema consiste en diseñar un programa que lea un valor entero positivo, y
calcule cuantos divisores primos tiene ese numero entero.
Es decir, si a este programa le pasamos 28, devuelve 3 (los divisores primos de 28 son 3: el 1,
el 2 y el 7).
Ejercicio 4 El cuarto problema consiste en escribir un programa que lea una secuencia de valores
enteros por teclado y, por cada valor le´ido, calcule su alpha-imagen y la muestre por pantalla.
Cuando se lea el valor 0 finaliza la introducci´on de datos.
Es decir, si este programa recibiera como entrada la secuencia:
28, 345, 13, 1024, 103357236, ...
Ir´ia obteniendo como resultados,
4, 8, 2, 2, 16, ...

1 Respuesta

Respuesta
1
Como veras últimamente conmigo eso de andar con carreras como que no funciona muy bien (por que he estado un tanto ocupado)por tanto me disculpas el retrazo. Para tu primera pregunta hay te va algo que luego etas en el deber de concluir para que t quede algo por hacer ok.
Este es un programa sumamente sencillo te sirve para saber si un número es o no primo, aquí va el código:
bool esPrimo(int x){
­ ­ ­ ­ int i;
­ ­ ­ ­ int cont=0;
­ ­ ­ ­ for(i=1;i<=x;i++){
­ ­ ­ ­ ­ ­ ­ if(x%i==0){
­ ­ ­ ­ ­ ­ ­ ­ cont++;}
­ ­­ ­ ­ }
­ ­ ­ ­ if(cont>=2)
­ ­ ­ ­ ­ ­ return false;
­ ­ ­ ­ else
­ ­ ­ ­ ­ ­ return true;
}
Esta es una función, que puedes utilizar en cualquier lado y pues para usarla puedes poner algo de este estilo
if(esPrimo(x))
­ ­ ­ cout<<<" es primo"<
else
­ ­ ­ cout<<<" no es primo"<
Recuerda la otra parte te queda a ti.
**********
El programa puede quedar diferente dependiendo del compilador que uses, si lo haces en Devcpp te puede quedar así:
#include<iostream.h>
main (){
int x;
cout<<?numero: ?;
cin>>x;
int i,cont=0;
for(i=1;i<x;i++)
­ if(x%i==0)
­ ­ cont++;
­ if(cont<2)
­ ­ cout<<?si es primo?<<endl;
­ else­
­ ­ cout<<?no es primo?<<endl;
­ system(?PAUSE?);
}
***********Suerte.
El 2ª es relativamente sencillo.
El 3ª, recomendación previa a resolver este sería bueno leer antes el postulado de Bertran también conocido como el Teorema de Chebichev, otra posible forma de interpretar bien esto sería, entender también el "teorema fundamental de los números primos".
Luego si hace falta te podría colaborar con algo más pero espero que puedas terminar tu y sobre todo aprender sin que te hagan todo eh!..

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas