zoukankan      html  css  js  c++  java
  • 大数低速幂运算模板(c++)+python大数幂

    简介

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

    模板

    #include <bits/stdc++.h>
    using namespace std;
    string cal(string a,int cs)
    {
      string jk=a;
      string jc=a;
      reverse(a.begin(),a.end());
      for(int k=0;k<cs-1;k++)
      {
        for(int i=jk.size();i<a.size();i++)
        jk='0'+jk;
        reverse(jk.begin(),jk.end());
        int jw=0,n,now;
        string t="";
        for(int i=0;i<a.size();i++)
        {
          n=jk[i]+a[i]-'0'-'0'+jw;
          jw=n/10;
          now=n%10;
          t+=char(now+'0');
        }
        if(jw)
        t+="1";
        a=t;
        jk=jc;
      }
      reverse(a.begin(),a.end());
      return a;
    }
    string qp(int cs,int n)
    {
      stringstream s;
      s<<cs;
      string a;
      s>>a;
      string t;
      for(int i=0;i<n;i++)
      {
        t=cal(a,cs);
        //cout<<t<<"
    ";
        a=t;
      }
      return a;
    }
    int main()
    {
      ios::sync_with_stdio(0);
      cin.tie(0);
      cout.tie(0);
      int t;
      cin>>t;
      while(t--)
      {
        int n,t;
        cin>>n>>t;
        if(t)
        cout<<qp(n,t-1)<<endl;
        else
        cout<<1<<endl;
      }
    }
    
    

    python版本(速度较快)

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

    使用

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

  • 相关阅读:
    关于给Tomcat设置maxPostSize的问题
    完美激活PyCharm教程
    Tomcat +Nginx+Redis实现session共享
    python 上传多文件
    吸引注意力的动画
    Create React App 安装less 报错
    2020软件工程作业01
    yum用法
    rpm包的管理
    共享依赖库的误移或误删解决办法
  • 原文地址:https://www.cnblogs.com/baccano-acmer/p/10152105.html
Copyright © 2011-2022 走看看