当前位置: 首页 > news >正文

快速幂算法

题目一——P1226 【模板】快速幂 - 洛谷

这题其实非常简单 

 

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
LL call(LL a,LL b,LL p)
{
    LL ret=1;
    while(b)
    {
        if(b&1)
        {
            ret=(ret*a)%p;//注意这里是*
        }
        a=a*a%p;
        b>>=1;
    }
    return ret;
}
int main()
{
    LL a,b,p;
    cin>>a>>b>>p;
      printf("%lld^%lld mod %lld=%lld",a, b, p, call(a, b, p));
}

题目二——P10446 64位整数乘法 - 洛谷

 

 

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
LL call(LL a,LL b,LL p)
{
    LL ret=0;
    while(b)
    {
        if(b&1)
        {
            ret=(ret+a)%p;//注意是+
        }
        a=(a+a)%p;//a要翻两倍
        b>>=1;
    }
    return ret;
}
int main()
{
    LL a,b,p;
    cin>>a>>b>>p;
    cout<<call(a,b,p)<<endl;
    
}

相关文章:

  • 【Qt】文件与音视频
  • 【C++】map
  • 华为开源自研AI框架昇思MindSpore应用案例:基于MindSpore框架实现PWCNet光流估计
  • 梓航建站CMS独立版最新v1.9.4全插件PC+H5
  • 表格结构数据
  • 3.29:数据结构-绪论线性表-上
  • 类与对象(下)
  • 智能指针/内存泄露/类型转换
  • BeanDefinition和Beanfactory实现一个简单的bean容器
  • Prompt Flow 与 DSPy:大型语言模型开发的未来
  • 【论文阅读】LongDiff:Training-Free Long Video Generation in One Go
  • 全流程AI论文辅助系统开发实战:从构思到文献增值的智能进化
  • 测试开发-定制化测试数据生成(Python+jmeter+Faker)
  • 动态规划(DP)
  • 聚类(Clustering)基础知识2
  • Web开发-JS应用WebPack构建打包Mode映射DevTool源码泄漏识别还原
  • Linux内核perf性能分析工具案例分析
  • 聚类(Clustering)基础知识3
  • Java-sort(自定义排序)
  • axios基础入门教程