zoukankan      html  css  js  c++  java
  • 快速幂取模的运算

     1 //快速幂取模,
     2 #include <iostream>
     3 
     4 using namespace std;
     5 //1.
     6 //a^n%b
     7 int modExp(int a, int n, int b)
     8 {
     9     int t,y;
    10     t=1;y=a;
    11     while (n)
    12     {
    13         if (n&1) t=t*y%b;//若n为偶数;
    14         y=y*y%b;
    15         n>>=1;
    16     }
    17     return t;
    18 }
    19 //2.利用a^n%c = (((a%c)*a)%c......)
    20 int modexp_simple(int a,int n,int b) 
    21 { 
    22     int ret = 1; 
    23     while (n--) 
    24     { 
    25         ret = a * ret % b; 
    26     } 
    27     return ret; 
    28 }
    29 int main()
    30 {
    31     int a,n,b;
    32     while (cin>>a>>n>>b)
    33     {
    34         cout<<modExp(a,n,b)<<endl;
    35         cout<<modexp_simple(a,n,b)<<endl;
    36     }
    37 
    38     return 0;
    39 }
  • 相关阅读:
    基础知识概要
    文件操作
    排序
    python 内置函数
    lambda表达式
    函数
    字典dict
    Session、Cookie 学习笔记
    Spring+MVC+Mybatis整合
    JSONP原理解析
  • 原文地址:https://www.cnblogs.com/zhuy/p/2609588.html
Copyright © 2011-2022 走看看