UVa10539
http://vjudge.net/problem/UVA-10539
先打出来sqrt(n)以内的素数表,然后对于每个素数x,他对答案的贡献就是最大的p使x^p<=n,即log(x,n)。注意精度误差。
用1..r的减去1..l-1的就是答案。
- /*by SilverN*/
- #include<iostream>
- #include<algorithm>
- #include<cstring>
- #include<cstdio>
- #include<cmath>
- #define LL long long
- using namespace std;
- const int mxn=;
- int pri[mxn],cnt=;
- bool vis[mxn];
- int num[mxn];
- void Pri(){
- cnt=;int i,j;
- for(i=;i<mxn;i++){
- if(!vis[i])pri[++cnt]=i;
- for(j=;j<=cnt && i*pri[j]<mxn;j++){
- vis[i*pri[j]]=;
- if(i%pri[j]==)break;
- }
- }
- return;
- }
- LL query(LL n){
- LL ans=;
- int i,j;
- for(i=;i<=cnt && (LL)pri[i]*pri[i]<=n;i++){
- ans+=log(n+0.1)/log(pri[i])-;
- }
- return ans;
- }
- int n;
- LL l,r;
- int main(){
- Pri();
- int T;
- scanf("%d",&T);
- while(T--){
- scanf("%lld%lld",&l,&r);
- printf("%lld\n",query(r)-query(l-));
- }
- return ;
- }
UVa10539的更多相关文章
- UVA-10539 Almost Prime Numbers
题目大意:这道题中给了一种数的定义,让求在某个区间内的这种数的个数.这种数的定义是:有且只有一个素因子的合数. 题目分析:这种数的实质是素数的至少两次幂.由此打表——打出最大区间里的所有这种数构成的表 ...
随机推荐
- 推荐一个yaml文件转json文件的在线工具
YAML的全称是YAML Ain't Markup Language,是一种简洁的非标记语言,以数据为中心,使用空白,缩进,和分行组织数据,从而使得表示更加简洁易读. YAML如今广泛应用于微服务开发 ...
- C#入门(3)
C#入门(3) Delegates, Events, Lambda Expressions 最早的windows是使用c风格的函数指针来进行callback的,但是这样仅仅传递了一个内存中的地址,无法 ...
- (转)SpringMVC学习(二)——SpringMVC架构及组件
http://blog.csdn.net/yerenyuan_pku/article/details/72231385 相信大家通过前文的学习,已经对SpringMVC这个框架多少有些理解了.还记得上 ...
- this+call、apply、bind的区别与使用
http://www.ruanyifeng.com/blog/2018/06/javascript-this.html https://segmentfault.com/a/1190000018017 ...
- .net MVC下跨域Ajax请求(CORS)
二.CROS (Cross-origin Resource Sharing) CROS相当于一种协议,由浏览器.服务端共同完成安全验证,进行安全的跨域资源共享.对于开发人员来说就跟在本站AJAX请求一 ...
- 企业自颁布服务器证书的有效性验证(C#为例)
版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/notjusttech/article/details/72779904 目前根据项目的需要,整理了一 ...
- java在线聊天项目 客户端登陆窗口LoginDialog的注册用户功能 修改注册逻辑 增空用户名密码的反馈 增加showMessageDialog()提示框
LoginDialog类的代码修改如下: package com.swift.frame; import java.awt.EventQueue; import java.awt.event.Acti ...
- Java--返回类的对象(return this)
如下代码所示: public Book getBook(){ return this; } 在getBook()方法中,方法的返回值为Book类,所以方法体中使用 return this 这种形式返回 ...
- perl学习之子程序
一.定义子程序即执行一个特殊任务的一段分离的代码,它可以使减少重复代码且使程序易读.PERL中,子程序可以出现在程序的任何地方.定义方法为:sub subroutine{statements;}二.调 ...
- Python9-迭代器-生成器-day13
迭代器# print('__iter__' in dir(int))# print('__iter__' in dir(list))# print('__iter__' in dir(dict))# ...