• poj 3292 Semiprime Hnumbers


    题目:http://poj.org/problem?id=3292

    题意:一个初值为5,差为4的等差数列是 H-numbers

     把 H-numbers分类:1、H-primes指当且仅当它的因数只有1和它本身;(1除外)

               2、剩下的为H-composite

    求1到h之间,H-semi-prime(只能用两个H-primes的乘积)的个数


    一开始题目的意思理解错了,好好看题才是天理啊

    View Code
     1 #include <iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 using namespace std;
     5 int num[1000010];
     6 void init()
     7 {
     8     memset(num,0,sizeof(num));
     9     int i,j;
    10     int sum;
    11     for(i=5;i<=1000001;i=i+4)
    12     {
    13         for(j=5;j<=1000001;j+=4)
    14         {
    15             sum=i*j;
    16             if(sum>1000001)
    17             break;
    18             if(num[i]==0&&num[j]==0)
    19             {
    20                 num[sum]=1;
    21             }
    22             else
    23             {
    24                 num[sum]=-1;
    25             }
    26         }
    27     }
    28     int count=0;
    29     for(i=1;i<=1000001;i++)
    30     {
    31         if(num[i]==1)
    32         count++;
    33         num[i]=count;
    34     }
    35     return ;
    36 }
    37 int main()
    38 {
    39     int n;
    40     init();
    41     while(scanf("%d",&n)!=EOF)
    42     {
    43         if(n==0)
    44         break;
    45         cout<<n<<" "<<num[n]<<endl;
    46     }
    47     return 0;
    48 }
  • 相关阅读:
    python高级编程
    django笔记
    sublime ide
    python3 django mysql
    python win
    linux时区设置
    在实际应用中如何实现切圆角的功能
    display和visiblity在应用中使用哪个好
    看懂UML类图和时序图
    解决Xcode7.2真机调试出现:The account “” has no team with ID “”
  • 原文地址:https://www.cnblogs.com/wanglin2011/p/2917732.html
Copyright © 2020-2023  润新知