finding prime numbers between 2 integers

closed account (N0M9z8AR)
I need help with this code, can someone explain to me how its done and the logic behind it. Thank you
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
  
#include<iostream>

using namespace std;

int main()
{

 int integer,integer2, counter=0;
 cout<<"Enter starting number: ";
 cin>>integer;
 cout<<"Enter ending number: ";
 cin>>integer2;

 for(int i=integer; i<=integer2; i++){


    for(int j=2; j<=i; j++) {

    if(i%j==0) {            //don't know what to do in this part.

        break;
     }

     else {

         
         counter++;


     }


    }
 }


 cout<<"Number of primes in range: "<<counter;







    return 0;

}
Last edited on
The logic would be more apparent if you break your code up into functions.
1
2
3
4
5
6
7
8
9
10
11
12
bool is_prime( int n )
{
    for( int i = 2; i <= n; i++ ) {
        // n is divisible by a number
        if( n % i == 0 )
            return false;   // therefore it's not prime
    }
    // tried every number up to n
    // none of them divided evenly
    // so it's prime
    return true;
}


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int main()
{
    int integer = 0, integer2 = 0, counter = 0;
    cout << "Enter starting number: ";
    cin >> integer;
    cout << "Enter ending number: ";
    cin >> integer2;

    for( int i = integer; i <= integer2; i++ ) {
        if( is_prime( i ) ) {
            counter++;
        }
        // if(i % j == 0) means i isn't prime
        else {
            break;
        }
    }
}
Last edited on
Topic archived. No new replies allowed.