How many prime numbers |
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) |
Total Submission(s): 8122 Accepted Submission(s): 2619 |
Problem Description
Give you a lot of positive integers, just to find out how many prime numbers there are.
|
Input
There are a lot of cases. In each case, there is an integer N representing the number of integers to find. Each integer won’t exceed 32-bit signed integer, and each of them won’t be less than 2.
|
Output
For each case, print the number of prime numbers you have found out. |
Sample Input
3 2 3 4 |
Sample Output
2 |
OJ上用pow(x,0.5)会导致complier error
sqrt需要把参数转换为double,不然也会出错
菜鸟级的原创代码,已AC。若有可提高之处欢迎指导
#include<stdio.h>
#include<math.h>
bool isPrime(int x)
{
if (x == 2)return true;
int i = sqrt((double)x)+1;
while (--i>1)
if (x%i == 0)return false;
return true;
}
int main()
{
int n,total,temp;
while (scanf("%d", &n) == 1)
{
total = 0;
while (n--)
{
scanf("%d", &temp);
if (isPrime(temp))
total++;
}
printf("%d\n", total);
}
return 0;
}