zoukankan      html  css  js  c++  java
  • 1226 快速幂 取余运算 洛谷luogu--板子

    还记得

    前段时间学习二进制快速幂有多崩溃

    当然这次方法略有不同

    居然轻轻松松的

    题目描述

    输入b,p,k的值,求b^p mod k的值。其中b,p,k*k为长整型数。

    输入输出格式

    输入格式:

    三个整数b,p,k.

    输出格式:

    输出“b^p mod k=s”

    s为运算结果

     

    -----------------------------------------------------------------------

     

     1 #include<cstdio>
     2 #include<cmath>
     3 using namespace std;
     4 long long a, b, c, t;
     5 int main(){
     6     scanf("%lld %lld %lld", &a, &b, &c);
     7     t = 1;
     8     printf("%lld^%lld mod %lld=", a, b, c);
     9     while(b > 0){
    10         if(b % 2 == 1){
    11             t = a * t % c;
    12             b--;
    13         }
    14             a = a * a % c;
    15             b /= 2;    
    16     }
    17     printf("%lld",t % c);
    18     return 0;
    19 }

    之前一直mle

    是因为

    用开的longlong函数递归

    当然

    mle

    而我

    居然

    一直执迷不悟

    odk现在长心了

     

  • 相关阅读:
    重拾数学--初中--有理数
    Python中的运算符
    PyQt5实现虚拟摇杆
    Python无重复字符的最长子串
    Python两数相加
    Python两数之和
    DBMS,B树和B+树
    浮点数表示
    Lamada表达式
    Java编程思想P159页的错误
  • 原文地址:https://www.cnblogs.com/darlingroot/p/10309454.html
Copyright © 2011-2022 走看看