/** 题目:The Super Powers UVA 11752 链接:https://vjudge.net/contest/154246#problem/Y 题意:求无符号长整形以内的数满足至少可以用两种不同的次方来表示.比如64 = 2^6 = 8^2: 一个数的1次方不算数. 思路: 分析过程如下: 1 = 1^1 1^2 1^3 16 = 2^4 4^2 64 = 2^6 8^2 81 = 3^4 9^2 256 = 2^8 16^2 512 = 2^9 8^3 设Max为最大的可能获…
题目大意:将范围从1~pow(2,64)-1内的super power输出.super power的定义:一个数x至少存在两种x=pow(i,k),(k!=1). 题解: 注意数据范围2的64次方-1,而long long 的范围是2的63次方-1,所以要用unsigned long long. 一个数x至少存在两种幂形式,说明这个幂可以拆开,即这个幂不是质数. 最小非质数(1除外)是4,所以我们只需要枚举2的16次方-1就可以了. 指数只需要枚举1~64就可以了.如果指数非质数,就放到集合中.…
题意: 求1~2^64-1之间所有的 至少是两个不同的正整数的幂的数  升序输出 一个数的合数次幂即为这样的数 找出1~2^64-1中所有数的合数次幂 用set存起来(既能防止重复 又能升序) 最后输出就好了 #include <iostream> #include <cstdio> #include <sstream> #include <cstring> #include <map> #include <set> #include…
系统调用:库函数封装了系统调用,通过库函数和系统调用打交道 用户态:低级别执行状态,代码的掌控范围会受到限制. 内核态:高执行级别,代码可移植性特权指令,访问任意物理地址 为什么划分级别:如果全部特权,系统容易崩溃...可以让系统更稳定, Linux 只有0和3级 如何区分:cs和eip 0x0000000以上地址空间仅有内核态可以访问,0x00000000——0xbffffff两种状态都可访问 中断处理是从用户态进入内核态的主要方式 切换时,保存用户态寄存器上下文,int指令在堆栈保存一些寄存…
问题描写叙述: 输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数.比如输入12,从1到12这些整数中包括1 的数字有1.10.11和12.1一共出现了5次. 这是一道广为流传的google面试题. 算法: 第一种思路:对从1到n的每一个数进行统计,统计的结果相加.算法复杂度为O(n) 另外一种思路:举例说明. 令n=321.则: 它的个位上出现1的形式为XY1,次数和为33(由于十位百位上可能出现的组合为0-32) 它的十位上出现1的次数和较为复杂,形式为X1Y,X的取值范围为0-…
求GCD(最大公约数)的两种方式 这篇随笔讲解C++语言程序设计与应用中求GCD(最大公约数,下文使用GCD代替)的两种常用方式:更相减损法和辗转相除法,前提要求是具有小学数学的基本素养,知道GCD是什么,并具有C++的语法基础. 一.更相减损法 两个正整数a和b(a>b),它们的最大公约数等于a-b的差值c和较小数b的最大公约数. (这是我国人民智慧的结晶) 我来介绍一下这个算法的优点,就是避免了大整数取模导致效率低下,但是运算次数要比辗转相除多得多,所以我们在使用的时候需要判断一下. 代码:…
题目链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2852 题意:找到在[1,2^64-1]区间范围内的所有Super Powers数,Super Powers数指的是可以写成另外两个正数的次幂: 例如:1=1^1,1=1^20;   64=8^2,64=4^4; 思路:1另外算,从2开始,他的指数如果不是素数,由于算数基本定理,…
day11 --------------------------------------------------------------- 实例018:复读机相加 题目 求s=a+aa+aaa+aaaa+aa-a的值,其中a是一个数字.例如2+22+222+2222+22222(此时共有5个数相加),几个数相加由键盘控制. 分析:很简单,字符串*x可以复制. 1 a = input('请输入数字:') 2 n = input("请输入要加几次:") 3 s = 0 4 for i in…
原题:ZOJ 3795 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3795 题目大意:给定一个有向图,要求把点分为k个集合,使得每个集合中的任意两点a, b满足a, b互相不可到达. 分析:求出强连通分量后缩点,得到有向无环图,dfs该图求出各点深度(深度加权,权值为强连通分量大小),深度最大值即答案, 因为这一条路径上任意两点都可从深度小的一点到达深度大的一点,所以任意两点必定属于不同集合,即每个点一个集合:求的最…
最近做了一个TabHost的界面,在做的过程中发现了一些问题,故和大家分享一下. 首先我的界面如下: 目前就我所知,创建TabHost有两种方式,第一种是继承TabActivity类,然后用getTabHost方法来得到一个TabHost的实例,然后就可以给这个TabHost添加Tab了.示例代码如下: public class PlotHost extends TabActivity  { @Override protected void onCreate(Bundle savedInstan…