0x31 质数
poj2689 算根号R的质数,然后把L~R区间(这个很小啊)的合数判下
#include<cstdio>
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<cmath>
using namespace std;
typedef long long LL; int pr,prime[];bool v[];
void get_prime(int li)
{
pr=;memset(v,false,sizeof(v));
for(int i=;i<=li;i++)
{
if(v[i]==false)prime[++pr]=i;
for(int j=;j<=pr&&i*prime[j]<=li;j++)
{
v[i*prime[j]]=true;
if(i%prime[j]==)break;
}
}
} int blen,bprime[];
int main()
{
int L,R;
while(scanf("%d%d",&L,&R)!=EOF)
{
if(L==)L++;
get_prime( (int(sqrt(double(R)))) );
memset(v,false,sizeof(v));
for(int j=;j<=pr;j++)
{
LL d=L%prime[j]==?L:((LL)prime[j])*((LL)(L/prime[j]+));
if(d==prime[j])d+=prime[j];
while(d<=R)
{
v[d-L+]=true;
d+=prime[j];
}
}
blen=;
for(int i=;i<=R-L+;i++)
if(v[i]==false)bprime[++blen]=i;
if(blen<=)printf("There are no adjacent primes.\n");
else
{
int mx1=-,mx2,mn1=-,mn2;
for(int i=;i<blen;i++)
{
if(mx1==-||mx2-mx1<bprime[i+]-bprime[i])
mx1=bprime[i], mx2=bprime[i+]; if(mn1==-||mn2-mn1>bprime[i+]-bprime[i])
mn1=bprime[i], mn2=bprime[i+];
}
mx1+=L-, mx2+=L-, mn1+=L-, mn2+=L-;
printf("%d,%d are closest, %d,%d are most distant.\n",mn1,mn2,mx1,mx2);
}
}
return ;
}
poj2689
阶乘分解 筛素数然后看每个素数的贡献啊。
#include<cstdio>
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<cmath>
using namespace std;
typedef long long LL; int pr,prime[];bool v[];
void get_prime(int li)
{
pr=;memset(v,false,sizeof(v));
for(int i=;i<=li;i++)
{
if(v[i]==false)prime[++pr]=i;
for(int j=;j<=pr&&i*prime[j]<=li;j++)
{
v[i*prime[j]]=true;
if(i%prime[j]==)break;
}
}
} int main()
{
int n;
scanf("%d",&n);
get_prime(n); for(int j=;j<=pr;j++)
{
printf("%d ",prime[j]);
LL k=prime[j];int c=;
while(k<=n)
{
c+=n/k;
k*=prime[j];
}
printf("%d\n",c);
}
return ;
}
阶乘分解
0x31 质数的更多相关文章
- 0x31 prime distance(质数)
题目描述: 给定两个整数L和U,你需要在闭区间[L,U]内找到距离最接近的两个相邻质数C1和C2(即C2-C1是最小的),如果存在相同距离的其他相邻质数对,则输出第一对. 同时,你还需要找到距离最远的 ...
- BZOJ 2818: Gcd [欧拉函数 质数 线性筛]【学习笔记】
2818: Gcd Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 4436 Solved: 1957[Submit][Status][Discuss ...
- [LeetCode] Count Primes 质数的个数
Description: Count the number of prime numbers less than a non-negative number, n click to show more ...
- 为什么质数检验到 N的开方 就可以结束了
以为所有N的除数都是以根号N为轴对称的. 例如16的开方为4: 16%1 == 0 则1 与 16 都是16的除数. 16%2 == 0 则2 与 8 都是16的除数. 16%4 ==0 则4 为16 ...
- 求两个数字的最大公约数-Python实现,三种方法效率比较,包含质数打印质数的方法
今天面试,遇到面试官询求最大公约数.小学就学过的奥数题,居然忘了!只好回答分解质因数再求解! 回来果断复习下,常用方法辗转相除法和更相减损法,小学奥数都学过,很简单,就不细说了,忘了的话可以百度:ht ...
- PHP面试题之实现输出100以内的质数
最近求职时的其中一道面试题: 求100之内的质数 <? //求100以内质数 for ($i = 1; $i <= 100; $i++) { $k = 0; for ($j = 1; $j ...
- shell统计指定范围内的所有质数以及它们的和
#!bin/bash a= $) ;do n= $x);do ];then n=$[$n+] fi done ];then { echo -n -e "$x\t" sum=$[$s ...
- CNUOJ 0486 800401反质数
难度级别:A: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 将正整数 x 的约数个数表示为 g(x).例如,g(1)=1,g(4)=3, g ...
- NOI 1.5 44:第n小的质数
---恢复内容开始--- 描述 输入一个正整数n,求第n小的质数. 输入 一个不超过10000的正整数n. 输出 第n小的质数. 样例输入 10 样例输出 29 方法1:合数一定可以表示成一个比它小的 ...
随机推荐
- 20. Valid Parentheses[E]有效的括号
题目 Given a string containing just the characters '(',')','[',']','{' and '}',determine if the input ...
- DDL:对表___table___的相关操作
1) 增加列 语法: alter table 表名 add 列名 类型(长度) 约束; 2) 修改现有列类型.长度和约束 语法:alter table 表名 modify 列名 类型(长度) 约束; ...
- SQL使用总结——集合操作函数
Oracle中集合操作符专门用于合并多条select 语句的结果,包括:UNION, UNION ALL, INTERSECT, MINUS.当使用集合操作符时,必须确保不同查询的列个数和数据类型匹配 ...
- Solr.NET快速入门(二)
字典映射和动态字段 Solr dynamicFields可以根据用例不同地映射. 它们可以被"静态地"映射,例如,给定: <dynamicField name="p ...
- Analyzing resource wait related to memory/IO bottleneck
Analyzing resource wait related to memory bottleneck (RESOURCE_SEMAPHORE, PAGEIOLATCH_XX) sys.dm_os_ ...
- Super超级ERP系统---(10)订单打包
订单拣货完成后,需要把订单装箱打包,并打印客户地址信息.订单打包的操作流程先是扫描订单号,然后扫描商品条码. 1.订单打包 打印包装箱面单 2.订单发货 订单打包完成后就等待发货,快递公司来拉货的时 ...
- 图片文字滚动插件jQuery Scrollbox
图片文字滚动插件jQuery Scrollbox附件中提供了五种图片.文字滚动样式,只需调用jquery库和jQuery Scrollbox插件,然后再加一段简单的jquery代码即可使用,兼容性良好 ...
- JavaScript与jquery的对比
javascript jQuery 入口函数 只能有一个,如果有多个,后面的会覆盖前面 可以有多个,并且不会发生覆盖的情况 代码容错性 代码容错性差,代码出现错误,会影响到后面代码的运行. 代码容 ...
- (转载)Android 方法数超过64k、编译OOM、编译过慢解决方案。
Android 方法数超过64k.编译OOM.编译过慢解决方案. 目前将项目中的leancloud的即时通讯改为环信的即时通讯.当引入easeui的时候 出现方法数超过上限的问题. 搜索一下问题, ...
- 将mysql默认编码改为UTF8
windows: a. WIN+R net stop mysql 关闭mysql服务 b. 复制my-dafault.ini,重命名为my.ini,进入里面 UBUNTU: ** sudo vim ...