UVa 11105 - Semi-prime H-numbers(筛选法)-程序员宅基地

技术标签: UVa  筛选法  算法竞赛入门经典 (第二版) 第十章 数学概念与方法  

类似于筛选素数的方法,枚举前缀和即可。

#include <cstdio>
using namespace std;
const int maxn = 1000010;
bool nhp[maxn];
int hp[maxn],hpnum;
int cnt[maxn];
void pre() {
    for(int i = 5; i < 1010; i += 4)
        if(!nhp[i])
            for(int j = i * i; j < maxn; j += i)
                nhp[j] = true;
    for(int i = 5; i < maxn; i+=4)
        if(!nhp[i]) hp[hpnum++] = i;
    for(int i = 0; i < hpnum; ++i)
        for(int j = 0; j < hpnum && hp[i] * hp[j] < maxn; ++j)
            cnt[hp[i]*hp[j]] = 1;
    for(int i = 1; i < maxn; ++i) cnt[i] += cnt[i - 1];
}
int main() {
    pre();
    int n;
    while(~scanf("%d", &n) && n)
        printf("%d %d\n", n, cnt[n]);
    return 0;
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wcr1996/article/details/47059317

智能推荐

redis及redis-desktop-manager的下载及安装_redisdesktopmanager下载 32位-程序员宅基地

文章浏览阅读3.3k次。一、下载安装redis链接:https://pan.baidu.com/s/1ax2mMEfT5JPpqPv1YV5XNA 提取码:zfu0官网地址:Releases · tporadowski/redis · GitHubredis-desktop-manager链接:https://pan.baidu.com/s/1BxfcOdTCUXvJTycp_ET6Qw 提取码:cvbk二、启动redis解压后双击redis-server.exe启动出现如下图小黑板表示启动成功了_redisdesktopmanager下载 32位

B站狂神说--ElasticSearch笔记_狂神elasticsearch笔记-程序员宅基地

文章浏览阅读1.6k次。课程(免费)网址:https://www.bilibili.com/video/BV17a4y1x7zq?spm_id_from=333.999.0.0笔记来源:https://www.kuangstudy.com/bbs/1442736481234939905#header30ps:狂神很良心,yyds!一、ElasticSearch概述1.ElasticSearchElasticsearch是一个实时分布式搜索和分析引擎。 它让你以前所未有的速度处理大数据成为可能。它用于全文搜索、结构化搜_狂神elasticsearch笔记

TaskQuery查询API-程序员宅基地

文章浏览阅读1w次。1、TaskQuery查询API 有两种方法可以从引擎中查询数据:查询API和原生查询。查询API提供了完全类型安全的API。 你可以为自己的查询条件添加很多条件 (所以条件都以AND组合)和精确的排序条件。下面的代码展示了一个例子:Java代码 List tasks = taskService.createTaskQuery() _taskquery

windows搭建Rust开发环境报错error: linking with `x86_64-w64-mingw32-gcc` failed: exit code: 1-程序员宅基地

文章浏览阅读1.2k次,点赞21次,收藏25次。Rust环境配置,报错_error: linking with `x86_64-w64-mingw32-gcc` failed: exit code

Docker核心技术(一)_docker技术核心-程序员宅基地

文章浏览阅读1.1k次。Docker核心技术1.Docker的简介1)前提知识和课程定位2)什么是Docker3)Docker能干什么?(1)之前的虚拟机技术(2)容器虚拟化技术(3)开发/运维(DevOps)(4)企业级4)去哪下?Docker的安装前提说明CentOS Docker安装前提条件查看自己的内核Docker的基本组成Docker的安装步骤1)CentOS6.8的Docker的安装2)CentOS7安装Do..._docker技术核心

【免费编程书籍】-程序员宅基地

文章浏览阅读392次。这可能是 GitHub 上最全的编程相关书籍合集了,大概大家都在努力学习中。这个项目有多种语言版本,你可以选择中文或者你熟悉的语言来学习。

随便推点

这 5 个前端组件库,可以让你放弃 jQuery UI_jq ui 前段-程序员宅基地

文章浏览阅读337次。本文参考文章:https://www.sitepoint.com/top-5-jquery-ui-alternatives/ 转载请注明出自:葡萄城官网,葡萄城为开发者提供专业的开发工具、解决方案..._jq ui 前段

vue2 怎么用vite_Vue3之——和Vite不得不说的事-程序员宅基地

文章浏览阅读3.3k次。1.创建一个vite项目npm init vite-app cd npm installnpm run dev或者yarn create vite-app cd yarnyarn dev2.vite简介vite 是一个基于 Vue3 单文件组件的非打包开发服务器,它做到了本地快速开发启动:快速的冷启动,不需要等待打包操作;即时的热模块更新,替换性能和模块数量的解耦让更新飞起;真正的按需编译,不再等..._[vite] hmr update /src/components/common/header.vue?vue&type=style&index=0&s

ERwin根据映射文件,自动为物理模型命英文名_erwin物理模型转英文-程序员宅基地

文章浏览阅读1.1w次,点赞2次,收藏24次。在以前的帖子中说过,要整理下ERwin由逻辑模型到物理模型的映射,一直没时间,今天终于整理了,如下: 项目的建模工具,用的较多的有PD、Rose,我学生时代,就没听说过ERwin,这个工具也是进入项目组之后才了解到的。ERwin中分为逻辑模型和物理模型两种。在创建逻辑模型时,我们都是通过中文设计,这样就更直观的显示模型的作用;物理模型,是直接对数据库进行关联,对数据库进行操作,_erwin物理模型转英文

多用户同时处理同一条数据解决办法_后台 不同的用户抢占同一数据怎么处理-程序员宅基地

文章浏览阅读10w+次,点赞21次,收藏83次。事务处理(多用户同时操作一条信息时是用-并发)在c/s或多层中,如果两个用户同时打开一条记录,修改后提交会产生更新冲突; 据说办法有二:1。打开同时锁定表的记录 2。浦获错误,撤消其中一个用户的修改,但是很少见到具体实现的代码;请大家告诉具体的代码怎么写: 1。打开时如何锁定一条记录? 2。如何扑获更新错误?在delphi中调试时会报“该记录读出后已经被再次修改”,而在运行时如_后台 不同的用户抢占同一数据怎么处理

GMF:图形定义模型(Graphical definition model)介绍-程序员宅基地

文章浏览阅读1.3k次。  在GMF:示例Mindmap 练习一中我介绍了官方网站上的一个脑图示例第一步的练习,其中我们在第二步生成了一个图形定义模型(Graphical Definition Model)。图形定义模型包含一些图形元素信息,但是并没有直接与领域模型关联,它定义figures、nodes、links等显示在图形上的元素。  本篇介绍一下图形定义模型,后续学习过程中还会不断完善这几篇blog。三..._gmf层包含什么

Celery分布式任务队列初探_celery 执行批量任务 chunks-程序员宅基地

文章浏览阅读392次。Celery使用场景异步任务: 将耗时操作任务提交给Celery异步执行, 比如发送短信/邮件, 消息推送, 音视频处理等等;定时任务: 类似于crontab, e.g. 每日数据统计.Celery基本结构Celery基本使用初始化celery实例# coding = utf-8from celery import Celeryapp = Celery("..._celery 执行批量任务 chunks

推荐文章

热门文章

相关标签