I am trying to learn how to use openmp for multi threading.
Here is my code:

```
#include <iostream>
#include <math.h>
#include <omp.h>
//#include <time.h>
//#include <cstdlib>

using namespace std;

bool isprime(long long num);

int main()
{
        cout << "There are " << omp_get_num_procs() << " cores." << endl;
        cout << 2 << endl;
        //clock_t start = clock();
        //clock_t current = start;
        #pragma omp parallel num_threads(6)
        {
        #pragma omp for schedule(dynamic, 1000)
        for(long long i = 3LL; i <= 1000000000000; i = i + 2LL)
        {
                /*if((current - start)/CLOCKS_PER_SEC > 60)
                {
                        exit(0);
                }*/
                if(isprime(i))
                {
                        cout << i << " Thread: " << omp_get_thread_num() << endl;
                }
        }
        }
}

bool isprime(long long num)
{
        if(num == 1)
        {
                return 0;
        }
        for(long long i = 2LL; i <= sqrt(num); i++)
        {
                if (num % i == 0)
                {
                        return 0;
                }
        }
        return 1;
}

```

The problem is that I want openmp to automatically create a number of threads based on how many cores are available. If I take out the num\_threads(6), then it just uses 1 thread yet the omp\_get\_num\_procs() correctly outputs 64.

How do I get this to work?