uestc 1725 吴神数
// 筛选法
// 先求出 sqrt(1<<31)内的素数
// 然后筛选出符合要求的数
// 详情见代码注释
// #pragma comment(linker, "/STACK:1024000000,1024000000")
#include <iostream>
#include <algorithm>
#include <queue>
#include <stack>
#include <math.h>
#include <stdio.h>
#include <string.h>
using namespace std;
#define MOD 1000000007
#define maxn 1000010
#define maxm 48010
#define LL long long
int pr[maxm];
int p;
void getP(){
int i,j;
for(i=;i<maxm;i+=)
pr[i]=;
for(i=;i*i<maxm;i+=)
if(!pr[i])
for(j=i*i;j<maxm;j+=i)
pr[j]=;
pr[p++]=; // printf("%d ",p);
for(i=;i<maxm;i+=)
if(!pr[i]) pr[p++]=i;//,printf("%d ",i);
}
int fac[maxn],f[maxn],lt[maxn];
int main(){
getP();
int T;
int A,B;
LL tp;
scanf("%d",&T);
int i;
LL j,k;
while(T--){
scanf("%d %d",&A,&B);
LL len=B-A;
for(i=;i<=len;i++) fac[i]=,f[i]=false,lt[i]=A+i;
tp=;
for(i=;i<p;i++){ // 素数从 3 开始 因为偶数时不可能符合要求的
tp=tp*pr[i]*pr[i];
if(tp>B) break;
for(j=(A-+pr[i])/pr[i];j*pr[i]<=B;j++)
{
k=j*pr[i];
if(j%pr[i]==) f[k-A]=true;// 去掉 平方因子
if((j*pr[i]-)%(pr[i]-)!=) f[k-A]=true; // 条件3
fac[k-A]++; // 条件 2
lt[k-A]=lt[k-A]/pr[i];可能出现比sqrt(1<<31)大的素因子,所以需要知道
}
tp=;
}
int ans=;
for(i=;i<=len;i++)// 这里就写的比较繁杂了 就是各种情况讨论
if(!f[i]){
if(fac[i]==&<[i]>){
tp=i+A;
if((tp-)%(lt[i]-)==)
ans++;
}else if(fac[i]>){
tp=i+A;
if(lt[i]==) ans++;
else
if((tp-)%(lt[i]-)==)
ans++;
}
}
printf("%d\n",ans);
}
}
uestc 1725 吴神数的更多相关文章
- uestc 1722 吴神的表白
// 这题做的我好难过 不是因为没有思路 而是因为超数据类型范围的事// ax+by=c a,b,c>0// 那么该直线经过 1 2 4三个象限// 2 4 象限的第一整数解肯定是该象限最优解/ ...
- uestc 1721 吴神,人类的希望
// 将n个相同的球放进m个盒子 盒子不为空的方法总数// dp[i][j] 表示i个盒子 j个球的方法总数// 递推关系 dp[i][j]=dp[i-1][j-1]+d[i][j-i]// a. i ...
- CPC23-4-K. 喵喵的神数 (数论 Lucas定理)
喵喵的神∙数 Time Limit: 1 Sec Memory Limit: 128 MB Description 喵喵对组合数比較感兴趣,而且对计算组合数很在行. 同一时候为了追求有后宫的素养的生活 ...
- UESTC cdoj 619 吴神,人类的希望 (组合数学)
枚举盒子的个数,先把总数n减去掉box*k保证每个盒子至少有k个小球,剩下的小球放入盒子中可以为空, 加入box个小球保证每个盒子至少有一个小球,问题转化成不可区分小球放入不可区分盒子非空的方案数. ...
- UESTC - 1168 凤神与狗
原题链接 凤神隐居山林,与猫狗为伴.起初,他拥有cc只猫和dd只狗.每天下午他随机从中选择一只出去游玩并且晚上归来.如果他带的是狗,则第二天早上狗的数量增加ww只,否则,猫的数量增加ww只.由于凤神特 ...
- CPC23-4 K.喵喵的神·数
题意:给出整数T,P,求c(T,P) mod P. 解法:用卢卡斯定理. 卢卡斯定理:解决c(n,m) mod p问题.Lucas(n,m,p)=c(n%p,m%p)*Lucas(n/p,m/p,p) ...
- 盐城5138.6118(薇)xiaojie:盐城哪里有xiaomei
盐城哪里有小姐服务大保健[微信:5138.6118倩儿小妹[盐城叫小姐服务√o服务微信:5138.6118倩儿小妹[盐城叫小姐服务][十微信:5138.6118倩儿小妹][盐城叫小姐包夜服务][十微信 ...
- 没有我的A协
我离开A协(北京林业大学ACM爱好者协会)有段时间了,严格算来,应该有4年了.现在协会里的大部分人我都不认识.A协在我离开之后的这段时间里也产生了翻天覆地的变化. A协已经不只是一个以竞赛培训为目的的 ...
- 第八届郑州轻工业学院ACM(程序设计大赛)校内预选赛
郑州轻工业学院有一个大赛,把几个有趣的题目分享一下.下面是题目连接,喜欢了就点点... 斗破苍穹 礼上往来 统计人数 神の数 炉石传说 Mathematics and Geometry 马拉松后记 斗 ...
随机推荐
- 一些css效果积累
悬浮效果: ul li a{text-decoration: none;color: black} ul li a:hover{color: blue} 鼠标变小手 span:hover{cur ...
- C#中Json和List/DataSet相互转换
#region List<T> 转 Json /// <summary> /// List<T> 转 Json /// & ...
- linux源代码阅读笔记 八进制
c语言中,众所周知,以0x开头的数是16进制数.例如 0x8FFF 然而较少使用的是八进制数.它以0开头.例如 01234
- maven3常用命令、java项目搭建、web项目搭建详细图解
http://blog.csdn.net/edward0830ly/article/details/8748986 ------------------------------maven3常用命令-- ...
- Spring 与 Hibernate 集成 Transactional设置为只读
@Transactional标签用于标记ServiceImpl使用事务,并且能够打开一个sessionFactory的session,并且打开事务. 如果在这个标签为@Transactional(pr ...
- hdu 2149 Public Sale (博弈规律题)
#include<stdio.h> int main() { int n,m; while(scanf("%d %d",&m,&n)!=EOF) { ) ...
- springMVC获取request和response
转载:http://blog.sina.com.cn/s/blog_7085382f0102v9jg.html 1.参数 例如: @RequestMapping("/test") ...
- C语言文件操作函数
C语言文件操作函数大全 clearerr(清除文件流的错误旗标) 相关函数 feof表头文件 #include<stdio.h> 定义函数 void clearerr(FILE * str ...
- CentOS7安装Hadoop2.7完整流程
总体思路,准备主从服务器,配置主服务器可以无密码SSH登录从服务器,解压安装JDK,解压安装Hadoop,配置hdfs.mapreduce等主从关系. 1.环境,3台CentOS7,64位,Hadoo ...
- java:对象的转型
面向对象编程有三个特征,即封装.继承和多态,学习多态必须了解向上转型和向下转型. 一.向上转型:将子类对象赋值给父类的引用 动物 a=new 狗()://这就为向上转型 向上转型都会成功,是安全的. ...