版权声明:本文为博主原创文章,未经博主同意不得转载。

https://blog.csdn.net/u011328934/article/details/36644069

option=com_onlinejudge&Itemid=8&page=show_problem&category=474&problem=2046&mosmsg=Submission+received+with+ID+13825652" rel="nofollow">题目链接:uva 11105 - Semi-prime
H-numbers

题目大意:H-number为4∗k+1(k为非负数),H-composites为因子中含有H-number(不包含自己本身)的数。反之久是H-prime,给定n。求有多少H-composites。

解题思路:首先用筛选法求出范围内的H-prime。然后枚举两个推断乘积是否在范围内。

#include <cstdio>
#include <cstring> const int maxn = 1e6+5;
typedef long long ll; int v[maxn], prime[maxn], cp; void primeHtable(int n) {
cp = 0;
memset(v, 0, sizeof(v)); for (int i = 5; i < n; i += 4) {
if (v[i])
continue; prime[cp++] = i;
for (int j = i * 2; j < n; j += i)
v[j] = 1;
}
} int solve (int n) {
int ans = 0;
memset(v, 0, sizeof(v)); for (int i = 0; prime[i] < n && i < cp; i++) {
if ((ll)prime[i] * prime[i] > n)
break; for (int j = i; prime[j] < n && j < cp; j++) { ll u = (ll)prime[i] * prime[j];
if (u > n)
break; if (v[u])
continue;
ans++;
v[u] = 1;
}
}
return ans;
} int main () {
primeHtable(maxn);
int n;
while (scanf("%d", &n) == 1 && n) {
printf("%d %d\n", n, solve(n));
}
return 0;
}

uva 11105 - Semi-prime H-numbers(数论)的更多相关文章

  1. UVA 10539 - Almost Prime Numbers(数论)

    UVA 10539 - Almost Prime Numbers 题目链接 题意:给定一个区间,求这个区间中的Almost prime number,Almost prime number的定义为:仅 ...

  2. UVA 1415 - Gauss Prime(数论,高斯素数拓展)

    UVA 1415 - Gauss Prime 题目链接 题意:给定a + bi,推断是否是高斯素数,i = sqrt(-2). 思路:普通的高斯素数i = sqrt(-1),推断方法为: 1.假设a或 ...

  3. uva 1415 - Gauss Prime(高斯素数)

    题目链接:uva 1415 - Gauss Prime 题目大意:给出一个a,b,表示高斯数a+bi(i=−2‾‾‾√,推断该数是否为高斯素数. 解题思路: a = 0 时.肯定不是高斯素数 a != ...

  4. UVA.12716 GCD XOR (暴力枚举 数论GCD)

    UVA.12716 GCD XOR (暴力枚举 数论GCD) 题意分析 题意比较简单,求[1,n]范围内的整数队a,b(a<=b)的个数,使得 gcd(a,b) = a XOR b. 前置技能 ...

  5. UVA 10006 - Carmichael Numbers 数论(快速幂取模 + 筛法求素数)

      Carmichael Numbers  An important topic nowadays in computer science is cryptography. Some people e ...

  6. UVA 10539 - Almost Prime Numbers 素数打表

    Almost prime numbers are the non-prime numbers which are divisible by only a single prime number.In ...

  7. UVA 11610 Reverse Prime (数论+树状数组+二分,难题)

    参考链接http://blog.csdn.net/acm_cxlove/article/details/8264290http://blog.csdn.net/w00w12l/article/deta ...

  8. uva 11526 H(n) (数论)

    转载自 http://blog.csdn.net/synapse7/article/details/12873437 这道题我自己做的时候没有想到好的优化方法,提交的时候借鉴这篇文章的内容,转载如下: ...

  9. UVA - 10539 Almost Prime Numbers (几乎是素数)

    题意:输入两个正整数L.U(L<=U<1012),统计区间[L,U]的整数中有多少个数满足:它本身不是素数,但只有一个素因子. 分析: 1.满足条件的数是素数的倍数. 2.枚举所有的素数, ...

随机推荐

  1. SharePoint 2013 一次性上传文件大小限制

    默认是250MB,最大一次上传文件不超过2G The defaut size is 250MB and maximun upload size is 2047MB. It's can't greate ...

  2. 简单工厂模式(simple factory pattern)

    与一个对象相关的职责通常有3类: 1.对象本身所具有的职责(对象自身所具有的数据和行为) 2.创建对象的职责 3.使用对象的职责: 简单工厂模式的缺点: 1.简单工厂集中了所有产品的创建逻辑,职责过重 ...

  3. oracle解决多表关联分组查询问题

    做了一个功能需要分组查询,同时查询A表分组查询的ID需要关联B表的数据,本来想两个表关联查询,但是报group by 语法不正确.所以做了以下修改. select count(*), cindexid ...

  4. 【转自IT虾米网:www.itxm.net】外部应用和drools-wb6.1集成解决方案

    一.手把手教你集成外部应用和drools workbench6.1 1.         首先按照官方文档安装workbench ,我用的是最完整版的jbpm6-console的平台系统,里面既包含j ...

  5. [java] java 线程join方法详解

    join方法的作用是使所属线程对象正常执行run方法,而对当前线程无限期阻塞,直到所属线程销毁后再执行当前线程的逻辑. 一.先看普通的无join方法NoJoin.java public class N ...

  6. Java 类设计----Java类的继承

    Java类的继承 为描述和处理个人信息,定义类Person: public class Person { public String name; public inat age; public Dat ...

  7. laravel 查询构建器(连贯操作)

    注:laravel 查询返回行的都是 php 的 stdClass 对象实例,不是数组!!!! 1)查询多行(get) DB::table('table_name')->get(); 带偏移和限 ...

  8. Linux之expect

    一,安装expect yum install expect 其实expect根bash形势上差不多的. 二,实例 1,ssh实现自动登录,并停在登录服务器上 查看复制打印? #!/usr/bin/ex ...

  9. apache与weblogic 的整合

    web服务器与应用服务器的整合中,apache与weblogic 的整合算的上最普遍也是最基础的整合了 今天配置了一下: apache 2.0 weblogic 8.1 1.将weblogic中的mo ...

  10. mysql的if null 的用法

    <!-- 查询 分页查询 --> <select id="queryByPageList" resultMap="weixinActivityResul ...