5200 fqy的难题----2的疯狂幂

5200 fqy的难题----2的疯狂幂

时间限制: 1 s

空间限制: 128000 KB

题目等级 : 钻石 Diamond

题解

查看运行结果

题目描述 Description

大家都一定知道2的幂吧!

输入一个n,输出2的n次方

输入描述 Input Description

输入一个整数n,表示要求出2的n次方

输出描述 Output Description

只有一个整数,为2的n次方

样例输入 Sample Input

样例输入1:

6

样例输入2:

100

样例输出 Sample Output

样例输出1:

64

样例输出2:

1267650600228229401496703205376

数据范围及提示 Data Size & Hint

对于20%的数据,n<=50

对于50%的数据,n<=1500

对于100%的数据,n<=50000

分类标签 Tags 点此展开

暂无标签

题解:

快速幂(递归版)+高精度乘法

~~非递归的暂时没搞出来

AC代码:

#include<cstdio>
#include<iostream>
#define ll long long
using namespace std;
const int N=1e5+10;
int num[N]={1,1};
void MUL(int a[],int b[]){
    int c[N]={0};
    int l1=a[0];
    for(int i=1;i<=l1;i++){
        int x=0;
        for(int j=1;j<=l1;j++){
            c[i+j-1]+=a[i]*b[j]+x;
            x=c[i+j-1]/10;
            c[i+j-1]%=10;
        }
        c[i+l1]=x;
    }
    int j=l1<<1;
    while(j>1&&!c[j]) j--;
    for(int i=1;i<=j;i++) a[i]=c[i];
    a[0]=j;
}
void mul(int a[]){
    int &l=a[0];
    for(int i=1;i<=l;i++) a[i]<<=1;
    for(int i=1;i<=l;i++) a[i+1]+=a[i]/10,a[i]%=10;
    if(a[l+1]) l++;
}
void fpow(int p){
    if(!p) return ;
    fpow(p>>1);
    MUL(num,num);
    if(p&1) mul(num);
}
int main(){
    int n;cin>>n;
    fpow(n);
    for(int i=num[0];i;i--) printf("%d",num[i]);
    return 0;
}
时间: 2024-10-25 01:31:15

5200 fqy的难题----2的疯狂幂的相关文章

ICO如此疯狂为哪般?

编者语: 独角兽一词起源于硅谷,是投资行业,尤其是风险投资业的术语,指的是那些估值超过十亿美元的创业公司.独角兽凤毛麟角,占创业公司总数的0.1%都不到.鑫根资本认为,一个独角兽能达到如此估值,肯定是掌握了某种颠覆时代的技术或模式,使得投资者趋之若鹜,它的诞生势必将带动其相关的产业链发生根本.敬请阅读! 文/卢菁.玟君(鑫根资本) 七月初,美国两家名不见经传的区块链技术公司Tezos和block.one成功完成了总值4亿美元的融资,而且,整个过程同VC.投行.华尔街.或金融证券监管都毫无关联.他

采药 2005年NOIP全国联赛普及组&amp;疯狂的采药

时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师.为此,他想拜附近最有威望的医师为师.医师为了判断他的资质,给他出了一个难题.医师把他带到一个到处都是草药的山洞里对他说:"孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值.我会给你一段时间,在这段时间里,你可以采到一些草药.如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大."

1616 疯狂的采药(完全背包问题)

难度:普及- 题目类型:动规 提交次数:1 涉及知识:背包动规 题目背景 此题为NOIP2005普及组第三题的疯狂版. 此题为纪念LiYuxiang而生. 题目描述 LiYuxiang是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师.为此,他想拜附近最有威望的医师为师.医师为了判断他的资质,给他出了一个难题.医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同种类的草药,采每一种都需要一些时间,每一种也有它自身的价值.我会给你一段时间,在这段时间里,你可以采到一些草药.如

矩阵快速幂专题(一)

最近闲来无事,准备集中精力刷一波数论与图论.矩阵快速幂是数论里面的重要组成部分,值得我好好学习一下.因为题目比较多,分析也比较多,所以将此专题分成几个部分.做完这一专题,可能会暂时转向图论部分,然后等我组合数学学得差不多了,再回过头来继续做数论题. 矩阵快速幂算法的核心思想是将问题建模转化为数学模型(有一些简单题目是裸的矩阵模型,但是大部分难题就是难在要构造矩阵,用矩阵方法解决问题),推倒递推式,构造计算矩阵,用快速幂的思想求解矩阵A的n次方取mod,从而得到矩阵里面你需要的数据. 矩阵快速幂问

疯狂扩张、收缩战线,校园O2O冰火两重天

在中国,庞大的大学生群体支撑着校园互联网经济的运转,而在互联网+的经济大潮下,各类校园O2O也不断涌现出来,他们或从物流切入,或从便利店切入,或从社交切入……大量的创业者和传统企业都在开始涌向校园O2O. 从今年的资本市场来看,资本对于校园经济也是表现出了很高的热度,今年有很多校园O2O平台都拿到了巨额的融资,比如3月份,59store完成3000万人民币A轮融资:随后不久宅米网也宣布获得数千万人民币A轮融资:5月份,口袋兼职完成2000万人民币A轮融资:10月,易点到又获千万融资. 而经历了今

P1616 疯狂的采药

P1616 疯狂的采药 题目背景 此题为NOIP2005普及组第三题的疯狂版. 此题为纪念LiYuxiang而生. 题目描述 LiYuxiang是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师.为此,他想拜附近最有威望的医师为师.医师为了判断他的资质,给他出了一个难题.医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同种类的草药,采每一种都需要一些时间,每一种也有它自身的价值.我会给你一段时间,在这段时间里,你可以采到一些草药.如果你是一个聪明的孩子,你应该可以让采到的

微服务业务开发三个难题-拆分、事务、查询(下)

上集我们阐述了使用微服务体系架构的关键障碍是领域模型,事务和查询,这三个障碍似乎和功能拆分具有天然的对抗.只要功能拆分了,就涉及这三个难题. 然后我们向你展示了一种解决方案就是将每个服务的业务逻辑实现为一组DDD聚合.然后每个事务只能更新或创建一个单独的聚合.然后通过事件来维护聚合(和服务)之间的数据一致性. 在本集中,我们将会向你介绍使用事件的时候遇到了一个新的问题,就是怎么样通过原子方式更新聚合和发布事件.然后会展示如何使用事件源来解决这个问题,事件源是一种以事件为中心的业务逻辑设计和持久化

疯狂的采药

本题地址:http://www.luogu.org/problem/show?pid=1616 [题目背景] 此题为NOIP2005普及组第三题的疯狂版. 此题为纪念LiYuxiang而生. [题目描述] LiYuxiang是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师.为此,他想拜附近最有威望的医师为师.医师为了判断他的资质,给他出了一个难题.医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同种类的草药,采每一种都需要一些时间,每一种也有它自身的价值.我会给你一段时

矩阵快速幂的一份小结

矩阵真是个好东西!虽然矩乘的复杂度有点难看... ... 这几天也做了不少矩阵题目,还是有几道好题目的.不过我打算从入门开始. 矩阵乘法:A[i][k]*B[k][j]=C[i][j];(A的第i行的每项依次乘以B的第j列的每项的和) 很显然这是一个n^3的算法,还是比较难看的. 代码就差不多是这样了. struct Matrix{int T[51][51];}; Matrix Mul(Matrix a,Matrix b,int I,int K,int J) { Matrix S=S0; for