• poj 3292 H-素数问题 扩展艾氏筛选法


    题意:形似4n+1的被称作H-素数,两个H-素数相乘得到H-合成数。求h范围内的H-合成数个数

    思路:

    h-素数                                                                                                           h-合成数

    for(int i=5;i<maxn;i+=4)                                                                         for(int i=5;i<maxn;i+=4)

    {   if(h_prime[i]) continue;                                                                             for(int j=5;j<maxn;j+=4){

          for(int j=i*5;j<maxn;j+=i*4) h_prime[j]=1; }                                        if(i*j>maxn)  break;    if(!h_prime[i]&&!h_prime[j])   h_sei[i*j]=1;}

    注:这里的1反而不是h-素数

    解决问题的代码:

    #include <iostream>
    #include <cstdio>
    using namespace std;
    #define maxn 1000010
    int h_prime[maxn], h_sei[maxn], num[maxn];
    void table()
    {
            h_prime[1] = 0;
            for (int i = 5; i < maxn; i += 4)
            {
                   if (h_prime[i]) continue;
                   for (int j = i * 5; j < maxn; j += i * 4)
                           h_prime[j] = 1;
            }
            for(int i=5;i<maxn;i+=4)
                   for (int j = 5; j < maxn; j += 4)
                   {
                           if (i*j > maxn) break;
                           if (!h_prime[i] && !h_prime[j])
                                  h_sei[i*j] = 1;
                   }
            int ans = 0;
            for (int i = 5; i < maxn; i++)
            {
                   if (h_sei[i]) num[i] = ++ans;
                   else num[i] = ans;
            }
    }
    int main()
    {
            int n;
            table();
            while (scanf("%d", &n)!=EOF)
            {
                   if (n == 0) break;
                   printf("%d %d
    ", n, num[n]);
            }
            return 0;
    }
    君子知命不惧,自当日日自新
  • 相关阅读:
    1869六度分离
    1162Eddy's picture
    hdu2544
    3549Flow Problem
    1272小希的迷宫
    2112HDU Today(Dijkstra)
    1878欧拉回路
    hdu1116Play on Words
    2112HDU Today(SPFA)
    在程序中动态创建视图
  • 原文地址:https://www.cnblogs.com/xuxiaojin/p/9407720.html
Copyright © 2020-2023  润新知