【数学】Prime-Factor Prime
Prime-Factor Prime
题目描述
In this problem, you are given an integer interval [l,r]. Your task is to write a program which counts the number of prime-factor prime numbers in the interval, i.e. the number of prime-factor prime numbers between l and r, inclusive.
输入
l r
A line contains two integers l and r (1≤l≤r≤109), which presents an integer interval [l,r]. You can assume that 0≤r−l<1,000,000.
输出
样例输入
1 9
样例输出
4
【题解】
区间素数筛即可解决。
【队友代码】
//
// IniAully
//
//#pragma GCC optimize("Ofast,no-stack-protector")
//#pragma GCC optimize("O3")
#pragma GCC optimize(2)
#include <bits/stdc++.h>
#define inf 0x3f3f3f3f
#define linf 0x3f3f3f3f3f3f3f3fll
#define pi acos(-1.0)
#define nl "\n"
#define pii pair<ll,ll>
#define ms(a,b) memset(a,b,sizeof(a))
#define FAST_IO ios::sync_with_stdio(NULL);cin.tie(NULL);cout.tie(NULL)
using namespace std;
typedef long long ll;
const ll mod = 1e9+;
ll qpow(ll x, ll y){ll s=;while(y){if(y&)s=s*x%mod;x=x*x%mod;y>>=;}return s;}
//ll qpow(ll a, ll b){ll s=1;while(b>0){if(b%2==1)s=s*a;a=a*a;b=b>>1;}return s;}
inline int read(){int x=,f=;char ch=getchar();while(ch<''||ch>''){if(ch=='-')f=-;ch=getchar();}while(ch>=''&&ch<='') x=x*+ch-'',ch=getchar();return x*f;} const int maxn = 1e5+;
ll vis[maxn], prime[maxn], cnt;
void isprime()
{
memset(vis,,sizeof(vis));
for(ll i=;i<maxn;i++)
{
if(!vis[i])prime[cnt++]=i;
for(ll j=;j<cnt && i*prime[j]<maxn;j++)
{
vis[i*prime[j]]=;
if(i%prime[j]==)break;
}
}
vis[] = ;
vis[] = ;
} const int N = 1e6+;
ll bas[N];
int amo[N]; int main()
{
int l, r;
isprime() ; scanf("%d%d",&l,&r);
for(int i=;i<=r-l+;i++) bas[i] = ;
for(int i=;i<cnt;i++)
{
int u = (l-)/prime[i] + ;
int v = r/prime[i];
for(int j=u;j<=v;j++)
{
int _ = j*prime[i], __=_;
while(_%prime[i]==){
amo[__-l+]++;
_ /= prime[i];
bas[__-l+] *= prime[i];
}
}
}
//cout<<1<<nl;
int ans = ;
for(int i=l;i<=r;i++)
{
if(i<=) continue;
//cout<<i<<" : "<<amo[i-l+1]<<nl;
if(bas[i-l+] != i)amo[i-l+] ++;
if(!vis[amo[i-l+]]) ans ++;
}
cout<<ans<<nl; return ;
}
【数学】Prime-Factor Prime的更多相关文章
- 数学--数论--HDU2136 Largest prime factor 线性筛法变形
		
Problem Description Everybody knows any number can be combined by the prime number. Now, your task i ...
 - The largest prime factor(最大质因数)
		
1. 问题: The prime factors of 13195 are 5, 7, 13 and 29.What is the largest prime factor of the number ...
 - HDOJ(HDU) 2136 Largest prime factor(素数筛选)
		
Problem Description Everybody knows any number can be combined by the prime number. Now, your task i ...
 - 【沙茶了+筛选保存最大质因数】【HDU2136】Largest prime factor
		
Largest prime factor Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
 - (Problem 3)Largest prime factor
		
The prime factors of 13195 are 5, 7, 13 and 29. What is the largest prime factor of the number 60085 ...
 - 2136    Largest prime factor(打表)
		
Problem Description Everybody knows any number can be combined by the prime number.Now, your task is ...
 - Largest prime factor
		
problem 3:Largest prime factor 题意:求600851475143的最大的质因数 代码如下: #ifndef PRO3_H_INCLUDED #define PRO3_H_ ...
 - Problem 3: Largest prime factor
		
The prime factors of 13195 are 5, 7, 13 and 29. What is the largest prime factor of the number 60085 ...
 - R语言学习——欧拉计划(3)Largest prime factor 求最大质因数
		
The prime factors of 13195 are 5, 7, 13 and 29. What is the largest prime factor of the number 60085 ...
 - 【ACM】Largest prime factor
		
/*打表把素数能组合的数先设置成相应的位数*/ /* if n equals two and n is No.1 position of prime factors so four position ...
 
随机推荐
- 解决vim升级后导致的高亮行行好有下划线问题,
			
在自己的guodersert.vim中添加下面一行即可 hi CursorLineNr term=bold cterm=NONE ctermfg=darkgreen gui=bold guifg=Ye ...
 - 搭建vue-cli
			
https://www.cnblogs.com/wisewrong/p/8570309.html https://www.jianshu.com/p/1ee1c410dc67
 - Facebook开源时间序列内存数据库Beringei,追求极致压缩率——如果是int根据大多数时间序列中的值与相邻数据点相比并没有显著的变化,只要使用XOR将当前值与先前值进行比较,然后存储发生变化的比特。最终,该算法将整个数据集至少压缩了90%
			
转自:http://www.infoq.com/cn/news/2017/02/Facebook-Beringei 2017年2月3日,Facebook宣布将开源他们的高性能时序数据存储引擎Berin ...
 - mysql8安装与卸载
			
参考: https://www.cnblogs.com/zxwen/p/9448797.html https://blog.csdn.net/weixin_30073553/article/detai ...
 - Leetcode题目617:合并二叉树(递归-简单)
			
题目描述: 给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠. 你需要将他们合并为一个新的二叉树.合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新 ...
 - HTML中调用带有SoapHeader头的WebService的两种方法
			
第一种: function CallWebMethodWithHeader() { var soapXML = "<soap:Envelope xmlns:xsi='http://ww ...
 - OpenJudge计算概论-找出第k大的数
			
/*================================================ 找出第k大的数 总时间限制: 1000ms 内存限制: 1000kB 描述 用户输入N和K,然后接 ...
 - 时间戳  Flume's Memory Consumption
			
效率 https://www.cnblogs.com/zhujiabin/p/6168671.html?utm_source=itdadao&utm_medium=referral http ...
 - 编译grub时报告"grub_script.yy.c:19:22: error: statement with no effect [-Werror=unused-value]"怎么处理?
			
答: 在configure时加--disable-werror选项,如下: ./configure --target=aarch64-linux-gnu --disable-werror
 - SQL-W3School-函数:SQL UCASE() 函数
			
ylbtech-SQL-W3School-函数:SQL UCASE() 函数 1.返回顶部 1. UCASE() 函数 UCASE 函数把字段的值转换为大写. SQL UCASE() 语法 SELEC ...