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

春晚魔术[蓝桥]

这里

N=1,2,3..., ans=(ABC)^{2^N}

考虑到N很大则快速幂无法处理2^N,因为它并没有被取模

欧拉定理:

p是质数时

a^{p-1}\equiv 1\mod p

p=1e9+7是质数

(ABC)^{2^N}=(ABC)^{(1e9+6)}*(ABC)^{(1e9+6)}*...*(ABC)^{2^N\mod(1e9+6)}

两边同时取mod,a^{1e9+6}\equiv 1\mod 1e9+7

 (ABC)^{2^N}\mod 1e9+7=(ABC)^{2^N\mod 1e9+6}\mod 1e9+7

//
// Created by yumo_
//
#include<bits/stdc++.h>

using namespace std;
#define scin std::cin
#define scout std::cout
using i64=long long;
const int INF=INT_MAX/2;
const i64 INFF=LLONG_MAX/2;
const i64 md=1e9+7;
const int M=1e5+7;
int main() {

    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr);
    int T;
    scin>>T;
    // T=1;
    for (;T>0;--T) {
        i64 A,B,C;scin>>A>>B>>C;
        auto pow=[&](i64 a,i64 b,i64 Md) {
            i64 res=1;
            while (b>0) {
                if (b&1) res=res*a%Md;
                a=a*a%Md;
                b>>=1;
            }
            return res;
        };

        i64 N;scin>>N;N=pow(2,N,md-1);

        i64 ans=pow(A,N,md)*pow(B,N,md);ans%=md;
        ans=ans*pow(C,N,md);ans=ans%md;
        scout<<ans<<"\n";
    }

// 18 22 24
    return 0;
}

http://www.dtcms.com/a/106943.html

相关文章:

  • 查看 Linux 版本 Debian 飞牛os
  • Opencv计算机视觉编程攻略-第七节 提取直线、轮廓和区域
  • HCIA/HCIP基础知识笔记汇总
  • USC安防平台视频存储 RK3588
  • 问题大集10-git使用commit提交中文显示乱码
  • 深挖 DeepSeek 隐藏玩法·智能炼金术2.0版本
  • 【数据结构】图论进阶:生成树、生成森林与权值网络的终极解析
  • PyTorch中如何向已有预训练模型新增层
  • Go 语言语法精讲:从 Java 开发者的视角全面掌握
  • 架构设计基础系列:CQRS架构模式
  • 中级:Git面试题全攻略
  • AI提示词:知识探索专家
  • PyQt学习记录
  • python 项目怎么通过docker打包
  • 前端面试题之CSS中的box属性
  • 【Python使用】嘿马云课堂web完整实战项目第1篇:项目概述,项目背景【附代码文档】
  • EasyExcel在Linux上运行正常,在Docker中导出FontConfiguration.getVersion错误(不额外安装fontconfig)
  • 教学管理系统的E-R图
  • go游戏后端开发23:赢三张游戏逻辑
  • C语言内存函数详解
  • mycat--垂直分表--
  • mmaction2教程(2) QA
  • LangChain 使用向量数据库介绍与使用
  • Uniapp 持续出现 Invalid Host/Origin header 解决方法
  • Spring AOP + Redis缓存设计实战:基于注解的优雅三防方案(击穿/穿透/雪崩)
  • 【算法手记9】OR26 最长回文子串 NC369 [NOIP2002 普及组] 过河卒
  • 2024蓝桥杯国赛真题——数位翻转
  • 网络安全防护与挑战
  • 在uniapp中,video比普通的标签层级高解决问题
  • 项目实战--登录页面