UVA11752 The Super Powers
/*
UVA11752 The Super Powers
https://vjudge.net/contest/153365#problem/Y
数论
注意a^n=b要用除法求,并且求得的n比实际大1
*/
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <cmath>
#include <vector>
#include <queue>
#include <set>
#include <iostream>
//#define test
using namespace std;
const int Nmax=;
set<unsigned long long> ans;
int is_prime[Nmax];
int cnt;
void get()
{
for(int i=;i<=;i++)
is_prime[i]=;
for(int i=;i<=;i++)
if(is_prime[i])
for(int j=;j*i<=;j++)
is_prime[i*j]=;
} int main()
{
#ifdef test
#endif
ans.insert(1LL);
get();
//for(int i=1;i<=cnt;i++)
//printf("%d ",num[i]);
//printf("\n");
//printf("%lld\n",qpow(65536LL,4));
unsigned long long n=(1LL<<)-1LL;
//printf("n:%llu\n",n);
//return 0;
for(unsigned long long i=2LL;;i++)
{
unsigned long long cnt=-,x=n;//算出最大的次数,注意最大次数要-1
while(x>)
{
x/=i;
cnt++;
}
if(cnt<)
break;
unsigned long long a=i;
//不能这么乘,会超unsigned long long
//unsigned long long tmp=i*i*i*i;//
////printf("%lld\n",tmp);
//if(tmp>n)
//break;
for(unsigned long long j=;j<=cnt;j++)
{
a*=i;
//printf("a:%lld\n",a);
//if(a<=0LL)
//break;
//if(a>n)
//{
//printf("YES\n");
//return 0;
//break;
//}
if(!is_prime[j])
ans.insert(a);
}
}
for(set<unsigned long long>::iterator i=ans.begin();i!=ans.end();i++)
//cout<<*i<<endl;
//unsigned long long 要用llu输出,否则会丢数据
printf("%llu\n",*i);
return ;
}
UVA11752 The Super Powers的更多相关文章
- UVA11752 The Super Powers —— 数论、枚举技巧
题目链接:https://vjudge.net/problem/UVA-11752 题意: 一个超级数是能够至少能表示为两个数的幂,求1~2^64-1内的超级数. 题解: 1.可知对于 n = a^b ...
- The Super Powers
The Super Powers Time Limit: 1000MS Memory Limit: Unknown 64bit IO Format: %lld & %llu [Subm ...
- The Super Powers UVA 11752 分析分析 求无符号长整形以内的数满足至少可以用两种不同的次方来表示。比如64 = 2^6 = 8^2; 一个数的1次方不算数。
/** 题目:The Super Powers UVA 11752 链接:https://vjudge.net/contest/154246#problem/Y 题意:求无符号长整形以内的数满足至少可 ...
- uva 11752 The Super Powers 素数+大数判断大小
题目链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_proble ...
- UVA 11752 The Super Powers —— 数学与幂
题目链接:https://vjudge.net/problem/UVA-11752 题解: 1.首先变量必须用unsig long long定义. 2.可以分析得到,当指数为合数的时候,该值合法. 3 ...
- UVA 11752 The Super Powers(暴力)
题目:https://cn.vjudge.net/problem/UVA-11752 题解:这里只讨论处理越界的问题. 因为题目最上界是 264-1. 我们又是求次幂的. 所以当我们就可以知道 i 的 ...
- The Super Powers UVA - 11752
题目大意:将范围从1~pow(2,64)-1内的super power输出.super power的定义:一个数x至少存在两种x=pow(i,k),(k!=1). 题解: 注意数据范围2的64次方-1 ...
- uva 11752 - The Super Powers
这个题 任意一个数,他的幂只要不是质数则可以分解成两个数的乘 判断有没有溺出 i×i 则用最大的那个数 Max/i < i 吗 #include<iostream> #i ...
- UVa 11752 (素数筛选 快速幂) The Super Powers
首先有个关键性的结论就是一个数的合数幂就是超级幂. 最小的合数是4,所以枚举底数的上限是pow(2^64, 1/4) = 2^16 = 65536 对于底数base,指数的上限就是ceil(64*lo ...
随机推荐
- 贪吃蛇c++实现
近期没事翻了一下曾经写的程序.真是不堪入目.曾经真是什么都不懂.只是有一个程序倒是挺有意思的,大二的时候写的一个贪吃蛇游戏.尽管程序非常难看,还有非常多漏洞.但也是这个程序让我真正開始喜欢上了编程.不 ...
- Unity3D 射线指定层获取GameObject 注意 LayerMask
这一篇是纯技术讨论,看过我前面文章的童鞋应该清楚,我的奔跑是靠鼠标响应的,鼠标点到哪就跑到哪,后来又有了界面,麻烦就来了,我的界面居然能点 穿.我不希望点界面的时候还能点到界面后面的地面上,角色傻不拉 ...
- hdu 1235 统计同成绩学生人数
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = ...
- apt-get常见错误
安装错误:“E: Unmet dependencies.” 原因:非正常停止apt-get install * 错误提示:E: Unmet dependencies. Try 'apt-get - ...
- FH Admin
http://www.360doc.com/content/14/0713/08/8072791_394027312.shtml
- 使用python进行re拆分网页内容
这里简短的总结一下而不是完全的罗列python的re模块,python的re具有强大的功能,如下是一个从我们学校抓取数据然后拆分的程序,代码如下: import httplib import urll ...
- Codeforces Round #446
Greed #include<stdio.h> #include<string.h> #include<stdlib.h> #include<vector&g ...
- ML:流形学习
很多原理性的东西需要有基础性的理解,还是篇幅过少,所以讲解的不是特别的清晰. 原文链接:http://blog.sciencenet.cn/blog-722391-583413.html 流形(man ...
- 2 Selenium3.0+Python3.6环境搭建
[说明] 再次搭建一次环境,是因为遇到怎么都打不开IE的问题了,环境信息为:Selenium3.0+Python3.6+win7+ie10 [搭建步骤] 1.下载Python3.6,并点击安装和配置环 ...
- java学习笔记4——返回值
这个简单,返回值就是计算结果. 打个比方:个表格中我只要结果,不要经过,这个返回值就是结果.这个过程就是函数. 另外还有一个函数套用一个函数,被套用的函数的结果作为一个返回值给套用的外层函使用.比如: ...