简介

自己从大数加法改过来的模板,低速计算n的t次幂,n,t小于等于100速度能够保证

模板

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. string cal(string a,int cs)
  4. {
  5. string jk=a;
  6. string jc=a;
  7. reverse(a.begin(),a.end());
  8. for(int k=0;k<cs-1;k++)
  9. {
  10. for(int i=jk.size();i<a.size();i++)
  11. jk='0'+jk;
  12. reverse(jk.begin(),jk.end());
  13. int jw=0,n,now;
  14. string t="";
  15. for(int i=0;i<a.size();i++)
  16. {
  17. n=jk[i]+a[i]-'0'-'0'+jw;
  18. jw=n/10;
  19. now=n%10;
  20. t+=char(now+'0');
  21. }
  22. if(jw)
  23. t+="1";
  24. a=t;
  25. jk=jc;
  26. }
  27. reverse(a.begin(),a.end());
  28. return a;
  29. }
  30. string qp(int cs,int n)
  31. {
  32. stringstream s;
  33. s<<cs;
  34. string a;
  35. s>>a;
  36. string t;
  37. for(int i=0;i<n;i++)
  38. {
  39. t=cal(a,cs);
  40. //cout<<t<<"\n";
  41. a=t;
  42. }
  43. return a;
  44. }
  45. int main()
  46. {
  47. ios::sync_with_stdio(0);
  48. cin.tie(0);
  49. cout.tie(0);
  50. int t;
  51. cin>>t;
  52. while(t--)
  53. {
  54. int n,t;
  55. cin>>n>>t;
  56. if(t)
  57. cout<<qp(n,t-1)<<endl;
  58. else
  59. cout<<1<<endl;
  60. }
  61. }

python版本(速度较快)

  1. t=int(input())
  2. for i in range(t):
  3. a,b=map(int,input().split())
  4. print(a**b)

使用

先输入计算的次数,然后每行两个数第一个数是n第二个数是t

大数低速幂运算模板(c++)+python大数幂的更多相关文章

  1. POJ1026 Cipher(置换的幂运算)

    链接:http://poj.org/problem?id=1026 Cipher Time Limit: 1000MS   Memory Limit: 10000K Total Submissions ...

  2. C++大数运算模板

    #include<iostream> #include<cstring> #include<cstdio> #include<iomanip> #inc ...

  3. Modular_exponentiation模幂运算

    https://en.wikipedia.org/wiki/Modular_exponentiation 蒙哥马利(Montgomery)幂模运算是快速计算a^b%k的一种算法,是RSA加密算法的核心 ...

  4. 算数运算符: + - * / //(地板除) %(取余) **(幂运算) / 比较运算符 > < >= <= == !=

    # ### python运算符 #(1) 算数运算符: + - * / //(地板除) %(取余) **(幂运算) var1 = 5 var2 = 8 # +res = var1 + var2 pri ...

  5. Luogu P3390 【模板】矩阵快速幂&&P1939 【模板】矩阵加速(数列)

    补一补之前的坑 因为上次关于矩阵的那篇blog写的内容太多太宽泛了,所以这次把一些板子和基本思路理一理 先看这道模板题:P3390 [模板]矩阵快速幂 首先我们知道矩阵乘法满足结合律而不满足交换律的一 ...

  6. Python3基础 ** 幂运算 // 整除运算

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  7. 组合数学 - 置换群的幂运算 --- poj CARDS (洗牌机)

    CARDS Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 1448   Accepted: 773 Description ...

  8. 迭代加深搜索 codevs 2541 幂运算

    codevs 2541 幂运算  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题目描述 Description 从m开始,我们只需要6次运算就可以计算出 ...

  9. poj 3128 Leonardo's Notebook (置换群的整幂运算)

    题意:给你一个置换P,问是否存在一个置换M,使M^2=P 思路:资料参考 <置换群快速幂运算研究与探讨> https://wenku.baidu.com/view/0bff6b1c6bd9 ...

随机推荐

  1. Android系统定制----删除系统锁屏功能【转】

    本文转载自:http://blog.csdn.net/morixinguan/article/details/56675914 frameworks/base/packages/SettingsPro ...

  2. luogu 1726 上白泽惠音

    题目大意: 给一个有向图 求一个最大的强连通分量,输出这个强连通分量里的所有元素 若两个联通分量内点数相同 则输出字典序小的那个 思路: 直接tarjan 对每个连通分量,求一下最小点,然后判断字典序 ...

  3. [Codeforces 466C] Number of Ways

    [题目链接] https://codeforces.com/contest/466/problem/C [算法] 维护序列前缀和 , 枚举中间一段即可 , 详见代码 时间复杂度 : O(N) [代码] ...

  4. 如何给mysql用户分配权限+增、删、改、查mysql用户

    在mysql中用户权限是一个很重析 参数,因为台mysql服务器中会有大量的用户,每个用户的权限需要不一样的,下面我来介绍如何给mysql用户分配权限吧,有需要了解的朋友可参考. 1,Mysql下创建 ...

  5. sqlserver2005连接失败,不存在或拒绝访问

    sqlserver2005连接失败,不存在或拒绝访问 启动tcp/ip连接的方法: 打开 /Microsoft SQL Server 2005/配置工具/目录下的SQL Server Configur ...

  6. P3343 [ZJOI2015]地震后的幻想乡

    传送门 给积分大佬跪了 再给状压大佬也跪了 //minamoto #include<bits/stdc++.h> #define rint register int #define ll ...

  7. easyui-datebox 年月视图显示

    //年月视图做法 $('#startYearDate').datebox({ onShowPanel: function () { //显示日趋选择对象后再触发弹出月份层的事件,初始化时没有生成月份层 ...

  8. thinkphp 5 常用的助手函数

    load_trait:快速导入Traits,PHP5.5以上无需调用 /**     * 快速导入Traits PHP5.5以上无需调用     * @param string    $class t ...

  9. 51nod 1018 排序

    1018 排序 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 给出N个整数,对着N个整数进行排序 Input 第1行:整数的数量N(1 <= N  ...

  10. K Seq HihoCoder - 1046 || BZOJ4504 k个串

    这题与超级钢琴类似,然而重复的不重复计算贡献.. 那么先求出数组nxt,nxt[i]表示第i个元素之后的第一个与其相等的元素的下标,不存在则nxt[i]=0 考虑取的区间左端点为1时的情况. 将读入序 ...