Example not clear

From 1 through 10. I see only 3 values (6, 8,10) that have 2 divisors other than the squares (4, 9) . Please clarify why the expected output is 4

In this question, you are supposed to print the no of prime no.s between 2 given nos a and b. Thus between 1 and 10, we have 4 prime nos as : 2, 3,5 and 7

The question is misleading.I interpreted it as Prime Minister visits countries whose number that has exactly 2 divisors. Kindly update the statement below.

PMO gives two random numbers a & b to the Prime Minister. PM Modi wants to visit all countries between a and b (inclusive) , However due to shortage of time he can’t visit each and every country , So PM Modi decides to visit only those countries,for which country number has two divisors. So your task is to find number of countries Mr. Modi will visit.

Please review my code at : https://ide.codingblocks.com/s/109289 I am getting a run-error for TC #3

Use size as long long int p[1000000] and also
long long int N=1000000;
long long int p[N];
primeseive(p,N);