elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Trabajo de la universidad
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Trabajo de la universidad  (Leído 2,609 veces)
Zeta255

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Trabajo de la universidad
« en: 23 Marzo 2021, 02:48 am »

Tengo que hacer un programa que busque entre A y B los numeros primos que existan lo trato de hacer pero solo me tira los primeros del 1 al 10 y si pongo el 20 sale mal, alguien me podria ayudar, adjunto el codigo

Código
  1. // Solicitar al usuario un numero para m y n y mostrar los numeros primos entre estos
  2. #include<iostream>
  3. #include<iomanip>
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8. int m=1,n=0,divisores=0;
  9. cout<<"Ingrese el valor de m: ";
  10. cin>>m;
  11. cout<<"Ingrese el valor de n: ";
  12. cin>>n;
  13.  
  14. for(int i=m;i<=n;i++)
  15. {
  16. if(m%i==0 || n%i==0)
  17. {
  18. divisores++;
  19. }
  20. }
  21. cout<<endl<<"tiene "<<divisores<<" divisores"<<endl;
  22. }

MOD: El código debe ir entre etiquetas de Código GeSHi


« Última modificación: 23 Marzo 2021, 06:52 am por K-YreX » En línea

K-YreX
Moderador
***
Desconectado Desconectado

Mensajes: 1.008



Ver Perfil
Re: Trabajo de la universidad
« Respuesta #1 en: 23 Marzo 2021, 06:59 am »

Para futuras consultas, el código debe ir entre etiquetas de Código GeSHi. Puedes seleccionarlas desde un desplegable que hay encima del cuadro de texto que dice "Código GeSHi" donde puedes elegir tu lenguaje de programación o escribiendo directamente:
[code=cpp]
Tu código aquí
[/code]


El problema es el cálculo que estás haciendo. Piensa que i va desde m hasta n entonces tienes que ir comprobando si cada i es primo o no y no es eso lo que haces. Para ello tendrías que hacer otro bucle dentro de ese que vaya desde 1 hasta i y comprobar ahí cuántos divisores tiene.
Código
  1. for(int i = m; i <= n; ++i) {
  2.  for(int j = 1; j <= i; ++j) {
  3.    // aqui compruebas la divisibilidad
  4.  }
  5. }

Este código no es el más eficiente pero es el mejor para empezar ya que se ve claramente lo que estás haciendo. Cuando consigas que te funcione puedes intentar mejorarlo poco a poco o comentarlo aquí.

Suerte  :-X


En línea

Código
  1. cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
Zeta255

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: Trabajo de la universidad
« Respuesta #2 en: 23 Marzo 2021, 19:05 pm »

gracias amigo me ayudo mucho!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda. Trabajo Universidad
Programación C/C++
Anarq 2 2,439 Último mensaje 1 Enero 2017, 17:02 pm
por ThinkByYourself
Necesito ayuda, tengo un problema con mi trabajo de universidad,error jcombobox
Java
Docs 1 2,168 Último mensaje 5 Diciembre 2018, 02:37 am
por rub'n
El último fraude académico: webs que te hacen el trabajo de la universidad
Noticias
wolfbcn 5 5,470 Último mensaje 5 Febrero 2020, 10:30 am
por FJDA
Trabajo universidad
Programación C/C++
georginho30 5 4,079 Último mensaje 3 Noviembre 2020, 19:04 pm
por K-YreX
Programa para trabajo de la universidad, urgenteee!!!
Dudas Generales
Emmet01921 2 2,826 Último mensaje 22 Noviembre 2021, 22:37 pm
por Emmet01921
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines