zoukankan      html  css  js  c++  java
  • 1497 取余运算

    1497 取余运算

     

     时间限制: 1 s
     空间限制: 128000 KB
     题目等级 : 钻石 Diamond
     
     
     
    题目描述 Description

    输入b,p,k的值,编程计算bp mod k的值。其中的b,p,k*k为长整型数(2^31范围内)。

    输入描述 Input Description

    b p k 

    输出描述 Output Description

    输出b^p mod k=?

    =左右没有空格

    样例输入 Sample Input

    2  10  9

    样例输出 Sample Output

    2^10 mod 9=7

    数据范围及提示 Data Size & Hint

     原理:

    A*B%K = (A%K )*(B% K )%K
     
     1 #include<iostream>
     2 using namespace std;
     3 long long b,p,k,a;
     4 int f(int p)
     5 {
     6     if(p==0)return 1;
     7     a=f(p/2)%k;
     8     a=(a*a)%k;
     9     if(p%2==1)return (a*b)%k;
    10     else return a;
    11 }
    12 int main()
    13 {
    14     cin>>b>>p>>k;
    15     int c=b;
    16     b%=k;
    17     cout<<c<<"^"<<p<<" mod "<<k<<"="<<f(p);
    18     return 0;
    19 }
  • 相关阅读:
    JS知识点简单总结
    Js答辩总结
    JS答辩习题
    轮播
    jQuery选择器总结
    JS的魅力
    JS与JAVA数据类型的区别
    单表查询、多表查询、虚拟表连接查询
    Mysql基本语句
    Mysql数据库
  • 原文地址:https://www.cnblogs.com/mjtcn/p/6612597.html
Copyright © 2011-2022 走看看