POJ 3292 Semi-prime H-numbers_poj - 3292-程序员宅基地

技术标签: 2013POJ  数论  POJ训练纪实  POJ  刷题  

这个题有可能会错意啊,大家要注意……


题目大意:

定义一种数叫H-numbers,它是所有能除以四余一的数。

H-numbers中分三种数:

1、H-primes,这种数只能被1和它本身整除,不能被其他的H-number整除,例如9是一个H-number,能被1,3,9整除,但3不是H-number,所以他是H-primes。

2、H-semi-primes是由两个H-primes相乘得出的。

3、剩下的是H-composite。


问给一个数,求1到这个数之间有多少个H-semi-primes。


解题思路:

像筛素数一样打个表就行……,注意细节


下面是代码:

#include <stdio.h>
#include <string.h>

#define N 1000500
int num[40],pri[N],prc=0;
int vis[N+5]= {false};
void ScreeningPrime()
{
    int i, j;
    for(i = 5; i <= N; i+=4)
    {
        for(j = 5; j <= N ;j+=4)
        {
            if(i*j>N)
            {
                break;
            }
            if(!vis[i]&&!vis[j])
            {
                vis[i*j]=1;
            }
            else
            {
                 vis[i*j]=-1;
            }
        }
    }
    prc=0;
    for(i=1; i<N; i++)
    {
        if(vis[i]==1)
        {
            prc++;
        }
        pri[i]=prc;
    }
}
int main()
{
    int l;
    ScreeningPrime();
    while(scanf("%d",&l),l)
    {
        printf("%d %d\n",l,pri[l]);
    }
    return 0;
}


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lin375691011/article/details/17631011

智能推荐

urllib.error.URLError: urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed:_urllib.error.urlerror: <urlopen error [ssl: certif-程序员宅基地

文章浏览阅读7.3k次,点赞3次,收藏7次。前言本问题是我真实遇到,并且已经解决,做个笔记以免之后忘记。问题urllib.error.URLError: &lt;urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1045)&gt;..._urllib.error.urlerror:

(HAL库学习4)STM32CubeMX HAL FreeRTOS 任务创建与删除(也会教直接用代码实现方式)_stm32cubu怎么删除工程-程序员宅基地

文章浏览阅读4.3k次,点赞50次,收藏45次。这次教的是使用STM32CubeMX使用FreeRTOS来进行任务的创建与任务的删除(其实还有FreeRTOS还有一些需要注意的地方,但是任务的创建与删除就是最重要的了,其他的会在后面讲到)首先说说对FreeRTOS的看法吧,这是公认的大面积使用的嵌入式操作系统,我之前使用的是ucos,FreeRTOS以前接触的不多,拿他来比较的话,FreeRTOS最大的又是就在于完全免费,所以向我以后会更新的..._stm32cubu怎么删除工程

串行接收器_串行数据接收器-程序员宅基地

文章浏览阅读52次。设计一个有限状态机,该状态机将在给定比特流时识别何时正确接收字节。它需要识别起始位,等待所有8个数据位,然后验证停止位是否正确。如果停止位未按预期出现,则 FSM 必须等到找到停止位后再尝试接收下一个字节。每个数据字节都与起始位和停止位一起发送,以帮助接收器从位流中分隔字节。使用一个起始位 (0)、8 个数据位和 1 个停止位 (1)。当没有传输任何内容(空闲)时,该线路也处于逻辑 1。_串行数据接收器

计算机视觉入门-程序员宅基地

文章浏览阅读296次。计算机视觉是一门研究如何使计算机“看”的学科,它涉及了图像处理、模式识别、机器学习等多个领域。

浅谈Json解析与序列化_序列化和json解析的区别-程序员宅基地

文章浏览阅读1.7w次,点赞6次,收藏16次。从头说起:首先的首先,什么是Json:一种数据表示形式,JSON:JavaScript Object Notation对象表示法Json语法规则:数据在键值对中数据由逗号分隔花括号保存对象方括号保存数组像这样:{ "firstName":"John" , "lastName":"Doe" }这样:{"em_序列化和json解析的区别

springboot的配置文件如何配置可以实现多个yml相互读取_springboot如何读取多个yml配置-程序员宅基地

文章浏览阅读2k次,点赞2次,收藏6次。在Spring Boot中,可以通过多种方式来实现配置文件的相互读取和组合。如果你想要在一个Spring Boot应用中使用多个YAML(.yml。_springboot如何读取多个yml配置

随便推点

部署Kubernetes kube-apiserver启动失败_kube-apiserver.service holdoff time over, scheduli-程序员宅基地

文章浏览阅读3.4w次,点赞2次,收藏6次。systemctl restart kube-apiserver启动失败[root@centos-master yum.repos.d]# systemctl status kube-apiserver.service● kube-apiserver.service - Kubernetes API Server Loaded: loaded (/usr/lib/systemd/syst..._kube-apiserver.service holdoff time over, scheduling restart.

Matlab 生成license_matlab 2023试用期license-程序员宅基地

文章浏览阅读845次,点赞8次,收藏5次。Matlab 服务器端激活_matlab 2023试用期license

CodeSign error: code signing is required for product type Application in SDK iOS-程序员宅基地

文章浏览阅读53次。原地址:CodeSign error: code signing is required for product type Application in SDK iOS 在真机测试的时候往往会突然出现这样一个错误,code signing is required for product type 'Application' in SDK 'iOS 7.0' ,就是说代码签名证书不对劲。..._hellocordova doesn't have a bundle identifier. add a value for product_bundl

【PTA】线性表的两个非递减集合求并集_数据结构线性表的两个非递减集合求并集pta-程序员宅基地

文章浏览阅读4.1k次,点赞6次,收藏7次。线性表的两个非递减集合求并集(山东大学威海校区大二数据结构实验)_数据结构线性表的两个非递减集合求并集pta

InputStream只能读取一次的解决办法_inpustrem只能读一次-程序员宅基地

文章浏览阅读1w次。有时候我们需要对同一个InputStream对象使用多次。比如,客户端从服务器获取数据 ,利用HttpURLConnection的getInputStream()方法获得Stream对象,这时既要把数据显示到前台(第一次读取),又想把数据写进文件缓存到本地(第二次读取)。但第一次读取InputStream对象后,第二次再读取时可能已经到Stream的结尾了(EOFException)或者Stream_inpustrem只能读一次

webpack配置-程序员宅基地

文章浏览阅读1.1w次,点赞35次,收藏143次。webpack是前端的打包工具打包的工作内容是什么扫描项目,生成整个项目所有模块的依赖关系,根据配置对模块进行合并,生成一个单独的文件。修改html文件,让html文件引用生成后的文件将浏览器无法直接识别的(less、sass、ts)文件,转换成浏览器可以实现的内容。将浏览器暂时无法支持的JS新的语法转换成浏览器可以支持的语法。_webpack配置

推荐文章

热门文章

相关标签