题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2138
题目描述:
思路:
就判断数字是否为质数就直接看其能否整除除自身与1的数,如果可以就将标志位设置为1.
还有一个注意点就是,题目说的是有多组数据,所以接受n值时要设置个!=EOF,因为是英文写的最开始没注意(终究还是吃了没文化的亏,哎)
ac代码
#include<stdio.h>
#include<math.h>
int isPrime(int num){//返回0代表的不是质数,1则代表是质数
int flag = 0;
for(int i = 2;i <= sqrt(num);i++){
if(num % i == 0) {
flag = 1;
break;
}
}
if(flag == 1) return 0;
return 1;
}
int main(){
int n;
while(scanf("%d",&n) != EOF){
int ans = 0;
while(n--){
int temp;
scanf("%d",&temp);
if(isPrime(temp) == 1){
ans++;
}
}
printf("%d\n",ans);
}
return 0;
}