zoukankan      html  css  js  c++  java
  • hdoj_2138How many prime numbers

    How many prime numbers

    Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
    Total Submission(s): 7324    Accepted Submission(s): 2446


    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
    #include <iostream>
    #include <cstdio>
    #include <algorithm>
    
    using namespace std;
    
    typedef long long ll;
    
    ll exp_mod(ll a,ll b,ll mod)
    {
    	ll res = 1;
    	while(b){
    		if(b & 1) res = (res * a) % mod;
    		a = (a * a) % mod;
    		b >>= 1;
    	}
    	return res;
    }
    
    bool Miller_Rabbin(ll n)
    {
    	ll a,s = (n-1) >> 2,i = 1, t = n-1;
    	s = min(s,(ll)50);
    	do{
    		a = rand() % (t) + 1;
    		if(exp_mod(a,t,n) != 1) return false;
    	}while(i++ < s);
    	return true;
    }
    
    int main()
    {
    	int n,ans;
    	ll num;
    	while(scanf("%d",&n)!=EOF)
    	{
    		ans = 0;
    		for(int i = 0;i < n;i++)
    		{
    			scanf("%I64d",&num);
    			if(Miller_Rabbin(num))
    				ans++;
    		}
    		printf("%d\n",ans);
    	}
    	return 0;
    }
    


  • 相关阅读:
    洛谷 P1692 部落卫队
    洛谷 P1113 杂务
    洛谷 P1546 最短网络 Agri-Net
    洛谷 P2121 拆地毯
    洛谷 P2728 纺车的轮子 Spinning Wheels
    洛谷 P2126 Mzc家中的男家丁
    线段树双标记——乘法和加法
    A. Feed the cat
    洛谷 P1535 游荡的奶牛
    BZOJ1050 [HAOI2006]旅行
  • 原文地址:https://www.cnblogs.com/lgh1992314/p/5835356.html
Copyright © 2011-2022 走看看