UVA 11752 超级幂

Z - The Super Powers

Time Limit:1000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu

Submit Status Practice UVA 11752

Description

题意:定义一个数为超级幂,当这个数能表示成至少两个不同数字的幂时。如16=2^4,16=4^2。输出1~2^64-1范围内的超级幂。
思路:显然一个数能称为超级幂,这个数肯定是一个数的合数幂,即a^(b*c)=(a^b)^c=(a^c)^b。而最小合数是4,所以只需从1枚举到2^16即可。现在重点再判溢出,2^64-1显然刚好是ull的范围,直接判x<=0||x>INF显然是会出错的,因为有可能一次溢出非常多又溢回正数了。这里方法是转换为double取对数,double的范围比要多,而且取对数还可以把指数放下来。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<vector>
#include<stack>
#include<queue>
#include<set>
#include<map>
#include<string>
#include<math.h>
#include<cctype>
#define ll long long
#define REP(i,a,b) for(int (i)=(a);(i)<=(b);(i)++)
#define REPP(i,a,b,t) for(int (i)=(a);(i)<=(b);(i)+=(t))
#define PII pair<int,int>
#define MP make_pair
#define PB push_back
#define RI(x) scanf("%d",&(x))
#define RLL(x) scanf("%lld",&(x))
#define RI64(x) scanf("%I64d",&(x))
#define DRI(x) int x;scanf("%d",&(x))
#define DRLL(x) ll x;scanf("%lld",&(x))
#define DRI64(x) llx;scanf("%I64d",&(x))
#define MS0(a) memset((a),0,sizeof((a)))
#define MS1(a) memset((a),0,sizeof((a)))
#define MS(a,b) memset((a),(b),sizeof((a)))using namespace std;typedef unsigned long long ull;
const int maxn=1000100;
const ull INF=(1LL<<64)-1;
const double EPS=0.0000000001;
const double Pi=acos(-1.0);bool isprime[maxn];
vector<int> np;
set<ull> vis;ll qpow(ull n,ull k)
{ull res=1;while(k){if(k&1) res*=n;n*=n;k>>=1;}return res;
}void getNotPrime()
{MS(isprime,1);REP(i,2,maxn-1){if(!isprime[i]) continue;REPP(j,i*2,maxn-1,i) isprime[j]=0;}REP(i,2,64){if(!isprime[i]) np.PB(i);}
}int main()
{getNotPrime();puts("1");REP(i,2,(1<<16)){REP(j,0,(int)np.size()-1){if(np[j]*log10(i*1.0)>=64*log10(2.0)) break;ull x=qpow(i,np[j]);//cout<<i<<" "<<np[j]<<endl;getchar();if(vis.find(x)==vis.end()){vis.insert(x);}}}for(set<ull>::iterator it=vis.begin();it!=vis.end();it++) printf("%llu\n",*it);return 0;
}

View Code

转载于:https://www.cnblogs.com/--560/p/4572803.html

UVA 11752 超级幂相关推荐

  1. UVA11752 The Super Powers【超级幂+暴力+数论】

    We all know the Super Powers of this world and how they manage to get advantages in political warfar ...

  2. “kuangbin带你飞”专题计划——专题十四:数论基础

    写在前面 1.目前还没啥写的.开始时间:2021-05-13(其实博客上看得到该博客创建时间的) 2.上一个专题刷的是网络流(博客总结),属于第一次接触.本来想的是一周特别高效,然后一周略划水,结果是 ...

  3. kuangbin带你飞专题合集

    题目列表 [kuangbin带你飞]专题一 简单搜索 [kuangbin带你飞]专题二 搜索进阶 [kuangbin带你飞]专题三 Dancing Links [kuangbin带你飞]专题四 最短路 ...

  4. 训练指南第二章-基础问题

    训练指南第二章-基础问题 P170 2 / 4 Problem A UVA 10943 How do you add? 1 / 2 Problem B UVA 10780 Again Prime? N ...

  5. 算法学习经典例题整理

    陆续会对本篇博客进行更新! 搜索:https://vjudge.net/contest/292597 区间DP:https://vjudge.net/contest/293892 树状背包:https ...

  6. [kuangbin]各种各样的题单

    [kuangbin]各种各样的题单 专题1 简单搜索 POJ 1321 POJ 2251 POJ 3278 POJ 3279 POJ 1426 POJ 3126 POJ 3087 POJ 3414 F ...

  7. Competitive Programming 3题解

    题目一览: Competitive Programming 3: The New Lower Bound of Programming Contests(1) Competitive Programm ...

  8. 精确算法、启发式算法、元启发式算法及增长方式浅析

    组合优化问题是通过用数学方法的研究去寻找离散事件的最优编排.分组.次序或筛选等,其变量是离散分布的.对于结构化的组合优化问题,其解空间的规模能够得到控制,对于这样的问题,使用精确算法就可以求得最优解. ...

  9. 初学者acm的练习题指南

    上机练习题参考题 忘了在哪找的啦~~希望对大家有帮助呦 <!--[if !supportLists]-->1.    <!--[endif]-->Programming Bas ...

最新文章

  1. 【c语言】float强制转换为int类型
  2. 【OpenCV开发】使用OpenCV的OpenCL(ocl)模块
  3. c .net ajax,Asp.net mvc 2中使用Ajax的三种方式
  4. solidworks模板_工程师实用高级操作,Solidworks自定义属性链接到工程图模板
  5. Response.Redirect奇怪现象
  6. 插入…值(SELECT…FROM…)
  7. 电力系统微型计算机继电保护试题及答案,全国2010年7月高等教育自学考试电力系统微型计算机继电保护试题及答案.doc...
  8. 【LaTeX】 案例分析 (8) - 高等数学分析 Mathematica 实验报告
  9. MIME - 文件类型
  10. 动词变名词的变化规则_动词accept变成名词-tion?那就错……多名词变化规律如下总结...
  11. 失眠就吃安眠药真的好吗?好心情送你沾枕到天亮的诀窍
  12. 良心教程教你如何使用Excel简单绘制数据图表。
  13. STM32MP1如何让洗衣机操作界面更炫酷?
  14. 2022年都在说软件测试饱和了,是真的吗?
  15. 勋章菊的养殖方法和注意事项
  16. mysql保存微信昵称特殊字符
  17. RSD 教程 —— 2 开始运行RSD
  18. Shader山下(十三)边缘发光
  19. 气质联用仪换柱和清洗离子源的建议
  20. 辞掉工作追寻创业梦想如何毁了我的生活

热门文章

  1. JPA不同包下同类名查询出错
  2. 【VB】学生信息管理系统4——数据库的发展
  3. GPU与CPU交互技术
  4. GPU指令集技术分析
  5. 自定义算子高性能开发
  6. 如何为应用选择最佳的FPGA(下)
  7. CentOS7:Thrift的安装
  8. 实用的Linux 安装 zip unzip
  9. [JS] 闭包与内存泄漏
  10. api.php t.cn,PHP通过调用新浪API生成t.cn格式短网址链接的方法详解