Dev - C++ - Necesito una ayuda en esto, no entiendo el error

 
Vista:

Necesito una ayuda en esto, no entiendo el error

Publicado por Adrian (1 intervención) el 16/06/2012 21:45:25
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
 
using namespace std;
 
int main()
{
  int n;
  int c;
  int crash;
  cout<<"Ingrese un numero"<<endl;
  cin>>n;
 
    for(c = n-1; c == 1; c--){
      if(n%c == 0){
      crash = 1;
     }
    }
 
    if(crash == 1){
    cout<<"El numero no es primo"<<endl;
    } else{
    cout<<"El numero es primo"<<endl;}
 
    return 0;
  }

es para ver si el numero es primo, pero no funciona como deveria, la ayuda es bienvenida
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Necesito una ayuda en esto, no entiendo el error

Publicado por Capitan Kirk (48 intervenciones) el 19/06/2012 08:30:01
El bucle for debería ser:

1
2
3
4
5
6
7
for (c=2; c<n; c++)
='editor_indent'>if (n % c == 0)
{
='editor_indent'>crash = 1;
break;
}


No empieces (o termines) por 1, ya que todo número va a ser divisible por 1. El break es para que finalice el bucle cuando el resto de la división sea cero (el número ya no es primo, no vale la pena seguir).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Necesito una ayuda en esto, no entiendo el error

Publicado por Andres (1 intervención) el 10/09/2012 23:20:41
Luego de esto te recomiendo leer un poco acerca de la criba de eratostenes

http://es.wikipedia.org/wiki/Criba_de_Erat%C3%B3stenes
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar