首页 > 代码库 > hdu 2138 How many prime numbers (素数判定)
hdu 2138 How many prime numbers (素数判定)
How many prime numbers |
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) |
Total Submission(s): 8205 Accepted Submission(s): 2642 |
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 |
Author wangye |
Source HDU 2007-11 Programming Contest_WarmUp |
解题思路:直接判定是否为素数即可。
AC代码:
#include <stdio.h> #include <string.h> #include <iostream> #include <algorithm> #include <vector> #include <queue> #include <set> #include <map> #include <string> #include <math.h> #include <stdlib.h> #include <time.h> using namespace std; #define INF 0x7fffffff bool isprim(int n){ //判断是否为素数 for(int i=2; i<=(double)sqrt((double)n); i++){ if(n%i == 0) return false; } return true; } int main() { #ifdef sxk freopen("in.txt","r",stdin); #endif int n, x, ans; while(scanf("%d",&n)!=EOF) { ans = 0; //计数 while(n--){ scanf("%d", &x); if(isprim(x)) ans ++; } printf("%d\n", ans); } return 0; }
hdu 2138 How many prime numbers (素数判定)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。