当前位置: 首页 > 编程日记 > 正文

UVA 11752 超级幂

UVA 11752 超级幂

Z - The Super Powers
Time Limit:1000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu
Submit Status Practice UVA 11752

Description

Download as PDF
题意:定义一个数为超级幂,当这个数能表示成至少两个不同数字的幂时。如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

相关文章:

Awstats

c是一个非常简洁而且强大的统计工具。它可以统计您站点的如下信息&#xff1a;一&#xff1a;访问量&#xff0c;访问次数&#xff0c;页面浏览量&#xff0c;点击数&#xff0c;数据流量等精确到每月、每日、每小时的数据二&#xff1a;访问者国家、访问者IP、操作系统、浏览器…

fixture详细介绍-作为参数传入,error和failed区别

前言 fixture是pytest的核心功能&#xff0c;也是亮点功能&#xff0c;熟练掌握fixture的使用方法&#xff0c;pytest用起来才会得心应手&#xff01; fixture简介 fixture的目的是提供一个固定基线&#xff0c;在该基线上测试可以可靠地和重复地执行。fixture提供了区别于传统…

哈佛结构和冯诺依曼结构区别。

哈佛结构是一种将程序指令存储和数据存储分开的存储器结构。中央处理器首先到程序指令存储器中读取程序指令内容&#xff0c;解码后得到数据地址&#xff0c;再到相应的数据存储 器中读取数据&#xff0c;并进行下一步的操作&#xff08;通常是执行&#xff09;。程序指令存储和…

js 数据函数

//shift&#xff1a;删除原数组第一项&#xff0c;并返回删除元素的值&#xff1b;如果数组为空则返回undefined var a [1,2,3,4,5]; var b a.shift(); //a&#xff1a;[2,3,4,5] b&#xff1a;1 //unshift&#xff1a;将参数添加到原数组开头&#xff0c;并返回数组的长度…

Java项目:平行志愿管理系统(java+Springboot+Maven+mybatis+Vue+Mysql)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 一、项目简述本系统功能包括&#xff1a; 系统管理&#xff0c;招生计划&#xff0c;学生管理&#xff0c;录取结果&#xff0c;自动分配&#xff0c;调剂管理等等。 二、项目运行 环境配置&#xff1a; J…

冒泡 MS Azure 不便宜。。。

一直在等 MS Azure 中国开卖&#xff0c; 最近有消息说正式商用了。。。 看看去&#xff0c;ok 发现官方网站 很奇葩。没有购买的地方 说毛线 啊 卧槽 欺骗感情还是吊人胃口&#xff1f; 好看了一下VM的价格&#xff0c;卧槽真不便宜。 即使是 768 MB的也要 0.22RMB 小时。本来…

数据库的概念以及MYSQL的安装和卸载

一、数据库的基本概念&#xff1a; 1、什么是数据库&#xff1f; DataBase&#xff0c;简称DB。是用来存储和管理数据的仓库。 2、数据库的特点&#xff1a; 持久化存储数据的。其实数据库就是一个文件系统。方便存储和管理数据使用了统一的方式操作数据库——SQL  3、最热门…

对ARM异常(Exceptions)的理解

对ARM异常&#xff08;Exceptions&#xff09;的理解 1 &#xff0e;对 ARM 异常&#xff08; Exceptions &#xff09;的理解 所有的系统引导程序前面中会有一段类似的代码&#xff0c;如下&#xff1a; .globl _start &#xff1b;系统复位位置 _s…

Java项目:花店商城系统(java+Springboot+Maven+mybatis+Vue+Mysql)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 一、项目简述 本系统功能包括&#xff1a; 商品的分类展示&#xff0c;用户的注册登录&#xff0c;购物车&#xff0c;订单结算&#xff0c;购物车加减&#xff0c;后台商品管理&#xff0c;分类管理&#x…

简单又好看的按钮,扁平化按钮。

原文 http://blog.csdn.net/peijiangping1989/article/details/19333779主题 安卓开发今天分享一下流行的扁平化按钮。完全不需要用到图片哦。效果图如下&#xff1a; 里面有2个按钮都是一样的模式。只要修改的色值就可以。下面跟我来更新你的UI吧。 首先编写 button.xml 代码…

MahApps.Metro

ModernUI for WPF Mahapps.metro home Mahapps.metro Quick start Mahapps.metro controls转载于:https://www.cnblogs.com/xakml/p/3682173.html

用herl工具解决微信内链接或二维码可直接用外部浏览器打开

很多朋友问我怎么解决微信内点击链接或扫描二维码可以直接跳出微信在外部浏览器打开网页链接&#xff0c;其实这并不难&#xff0c;只要我们实现微信跳转功能即可。 下面给大家推荐 herl工具&#xff08;http://www.nicejump.cn/&#xff09; 使用步骤 1. 用浏览器打开我们的工…

shell之“/dev/null 21”

shell中可能经常能看到&#xff1a;>/dev/null 2>&1 命令的结果可以通过%>的形式来定义输出 分解这个组合&#xff1a;“>/dev/null 2>&1” 为五部分。 1&#xff1a;> 代表重定向到哪里&#xff0c;例如&#xff1a;echo "123" &g…

Java项目:角色权限后台脚手架系统(java+Springboot+Maven+myBaits-Plus+Vue+Element-UI+Mysql)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; Springboot框架myBaits-PlusMySQL实现的角色权限后台管理脚手架系统实战项目&#xff0c;实现的是所有系统最基础的后台管理功能&#xff0c;有了这个脚手架&#xff0c;以后开发别的项目就在这上面快速增加…

30+程序员,平时都忙些什么事情?平时都想些什么?以后有啥计划?

很多人都说&#xff0c;30岁以后了&#xff0c;写程序还有前途嘛&#xff1f;我有时候也迷茫&#xff0c;但是迷茫过后&#xff0c;总会给自己寻找方向&#xff0c;每个人都需要有个信念、没有信念&#xff0c;活着就没意思&#xff0c;无聊&#xff0c;觉得没奔头了。 废话少说…

用于制图、写电子邮件、创建条形码控件Aspose.Total

2019独角兽企业重金招聘Python工程师标准>>> Aspose.Total 提供了 Aspose 可以使用的任何组件&#xff0c;以及你每年订阅中发布的所有新组件。通过它&#xff0c;你能够有计划地操纵一些商业中最流行的文件格式&#xff1a;Word, Excel, PowerPoint, Project, PDF …

循环for语句 if语句

if语句&#xff1a; if(表达式){ 代码 }else if(表达式){ 代码 } for循环&#xff1a; for(var i0; i<10; i){ alert(1); (弹窗&#xff09; } if语句&#xff1a; if(表达式){ 代码 }else if(表达式){ 代码 } for循环&#xff1a; for(var i0; i<10; i){ alert(1); (弹窗…

Linux中的粘滞位

Linux中的粘滞位 Sticky 位是一个访问权限标志位&#xff0c;可以用来标示文件和路径。 历史&#xff1a; 粘滞位是在1974年Unix的第5版中引入的&#xff0c;用来设置可执行文件。当可执行文件设置粘滞位之后&#xff0c;它能够指示操作系统在程序退出后&#xff0c;保留程序…

Java项目:实现权限管理系统(java+SpringBoot+MyBatis+AOP+LayUI+Mysql)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; springbootmybatis使用面向切面编程&#xff08;AOP&#xff09;实现的权限管理系统。 共五个模块&#xff0c;角色管理&#xff0c;菜单管理&#xff0c;实验室管理&#xff0c;学生管理&#xff0c;管理员…

阅读10、11、12章

第10章 假设用户交付给我们一个 任务&#xff0c;然后我们通过调研的出来的结果进行设计&#xff0c;最后的结果跟用户想象的不一样&#xff0c;这应该怎么做&#xff1f; 第11章 团队合作真的需要有那么繁琐的步骤&#xff08;例如每日例会&#xff09;吗&#xff1f; 第12章 …

SQL删除重复数据方法

原文:SQL删除重复数据方法例如&#xff1a; id name value 1 a pp 2 a pp 3 b iii 4 b pp 5 b …

#pragma once与#ifndef

在C/C中&#xff0c;在使用预编译指令#include的时候&#xff0c;为了防止重复引用造成二义性的两种方法。 #ifndef 它不光可以保证同一份文件不会被包含两次&#xff0c;也能够保证不同文件完全相同的内容不会被包含两次。但&#xff0c;同样的&#xff0c;如果自定义的宏名不…

grep 在HP-UX下的递归查找

grep 在HP-UX下的递归查找Linux: man grep 可以看到 -r 选项-R, -r, --recursiveRead all files under each directory, recursively; this is equivalent to the -d recurse option.即&#xff1a;-r 选项可以查找指定目录下每个子目录下的所有文件eg:grep -r "28281&quo…

Java项目:实现个人博客系统(java+springboot+mybatis+redis+vue+elementui+Mysql)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; springbootmybatis前端vue&#xff0c;使用前后端分离架构实现的个人博客系统&#xff0c;共7个模块&#xff0c;首页&#xff0c;写博客&#xff0c;博客详情页&#xff0c;评论管理&#xff0c;文章分类&a…

软件工程--总作业(已经完成)

用户调研&#xff1a;http://www.cnblogs.com/OuZeBo/p/4580146.htmlalpha阶段总结&#xff1a;http://www.cnblogs.com/OuZeBo/p/4580146.html对其他组评价的反馈&#xff1a;已评论其他组&#xff0c;暂时没有其他组对我们组进行评论描述项目的典型用户与场景&#xff1a;已完…

linux各文件夹的作用域

目錄應放置檔案內容/bin系統有很多放置執行檔的目錄&#xff0c;但/bin比較特殊。因為/bin放置的是在單人維護模式下還能夠被操作的指令。在/bin底下的指令可以被root與一般帳號所使用&#xff0c;主要有&#xff1a;cat, chmod, chown, date, mv, mkdir, cp, bash等等常用的指…

LOJ 2721 「NOI2018」屠龙勇士——扩展中国剩余定理

题目&#xff1a;https://loj.ac/problem/2721 1.注意别一输入 p[ i ] 就 a[ i ] % p[ i ] &#xff0c;因为在 multiset 里找的时候还需要真实值。 2.注意用 multiset 。并且&#xff0c;因为要 upper_bound( a[ i ] ) &#xff0c;而 a[ i ] 是一个 long long 类型的&#xf…

setuid和setgid

setuid 和 setgid (全称分别是&#xff1a;set user ID upon execution 和 set group ID upon execution)是Unix的访问权限标志位&#xff0c;它允许 用户以可执行文件owner或group的权限来运行这个可执行文件。它们经常适用于&#xff1a;为了运行特定的任务&#xff0c;可以允…

Java项目:宠物医院预约挂号系统(java+JSP+Spring+SpringBoot+MyBatis+html+layui+maven+Mysql)

源码获取&#xff1a;博客首页 "资源" 里下载&#xff01; 一、项目简述功能包括&#xff1a; 用户分为宠物&#xff0c;医生&#xff0c;管理员&#xff0c;宠物主人可进行注册选择医生挂号&#xff0c;选择日期&#xff0c;选择号源&#xff0c;医生可进行宠物接诊…

大智慧面试经验

15-06-18下午1点&#xff0c;大智慧面试&#xff1b; 面试题全英文&#xff0c;第一部分基础的&#xff0c;诸如echo print printf的区别&#xff0c;include与require的区别等&#xff1b; 第二部分细节方面的&#xff0c;如在string中\n的意义&#xff0c;ucwords函数&#x…