51Nod 1046 A^B Mod C Label:快速幂

给出3个正整数A B C,求A^B Mod C。

例如,3 5 8,3^5 Mod 8 = 3。

Input

3个正整数A B C,中间用空格分隔。(1 <= A,B,C <= 10^9)

Output

输出计算结果

Input示例

3 5 8

Output示例

3

代码

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<algorithm>
 5 #define ll long long
 6 using namespace std;
 7
 8 ll pow(ll x,ll n,ll m){
 9     ll ans=1;
10     while(n){
11         if(n&1)ans=ans*x%m;
12         x=(x*x)%m;
13         n>>=1;
14     }
15     return ans;
16 }
17
18 int main(){
19     ll a,b,c;
20     scanf("%lld%lld%lld",&a,&b,&c);
21     printf("%lld\n",pow(a,b,c));
22     return 0;
23 }
时间: 2024-10-13 17:21:37

51Nod 1046 A^B Mod C Label:快速幂的相关文章

1046 A^B Mod C(快速幂取模)

1046 A^B Mod C(51NOD基础题) 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 给出3个正整数A B C,求A^B Mod C. 例如,3 5 8,3^5 Mod 8 = 3. Input 3个正整数A B C,中间用空格分隔.(1 <= A,B,C <= 10^9) Output 输出计算结果 Input示例 3 5 8 Output示例 3 /* 1046 A^B Mod C(快速幂取模) 给出3个正整数A B C,求A^B Mod C. (

51 nod 1046 A^B Mod C(快速幂取余)

1046 A^B Mod C 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 给出3个正整数A B C,求A^B Mod C. 例如,3 5 8,3^5 Mod 8 = 3. Input 3个正整数A B C,中间用空格分隔.(1 <= A,B,C <= 10^9) Output 输出计算结果 Input示例 3 5 8 Output示例 3 相关问题 X^A Mod P 320 X^2 Mod P 10 X^A Mod B 640 X^3 Mod

[2016-05-09][51nod][1046 A^B Mod C]

时间:2016-05-09 21:28:03 星期一 题目编号:[2016-05-09][51nod][1046 A^B Mod C] 题目大意:给出3个正整数A B C,求A^B Mod C. 分析:直接快速幂 #include<stdio.h> using namespace std; typedef long long ll; ll pow_mod(ll a,ll p,ll mod){ ll ans = 1; while(p > 0){ if(p & 1){ ans = (

51Nod 1046 A^B Mod C(日常复习快速幂)

1046 A^B Mod C 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 给出3个正整数A B C,求A^B Mod C. 例如,3 5 8,3^5 Mod 8 = 3. Input 3个正整数A B C,中间用空格分隔.(1 <= A,B,C <= 10^9) Output 输出计算结果 Input示例 3 5 8 Output示例 3 题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!prob

计算幂 51Nod 1046 A^B Mod C

给出3个正整数A B C,求A^B Mod C. 例如,3 5 8,3^5 Mod 8 = 3. Input 3个正整数A B C,中间用空格分隔.(1 <= A,B,C <= 10^9) Output 输出计算结果 Input示例 3 5 8 Output示例 3 #include <iostream> #include <stdio.h> using namespace std; long long a,b,c; long long mod(long long a,

Description has only two Sentences(欧拉定理 +快速幂+分解质因数)

Description has only two Sentences Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 124 Accepted Submission(s): 55   Problem Description an = X*an-1 + Y and Y mod (X-1) = 0.Your task is to calculat

ACM学习历程—HDU5490 Simple Matrix (数学 &amp;&amp; 逆元 &amp;&amp; 快速幂) (2015合肥网赛07)

Problem Description As we know, sequence in the form of an=a1+(n−1)d is called arithmetic progression and sequence in the form of bn=b1qn−1(q>1,b1≠0) is called geometric progression. Huazheng wants to use these two simple sequences to generate a simp

2014多校第一场 I 题 || HDU 4869 Turn the pokers(费马小定理+快速幂模)

题目链接 题意 : m张牌,可以翻n次,每次翻xi张牌,问最后能得到多少种形态. 思路 :0定义为反面,1定义为正面,(一开始都是反), 对于每次翻牌操作,我们定义两个边界lb,rb,代表每次中1最少时最少的个数,rb代表1最多时的个数.一张牌翻两次和两张牌翻一次 得到的奇偶性相同,所以结果中lb和最多的rb的奇偶性相同.如果找到了lb和rb,那么,介于这两个数之间且与这两个数奇偶性相同的数均可取到,然后在这个区间内求组合数相加(若lb=3,rb=7,则3,5,7这些情况都能取到,也就是说最后的

luogu P1226 取余运算||快速幂

题目描述 输入b,p,k的值,求b^p mod k的值.其中b,p,k*k为长整型数. 输入输出格式 输入格式: 三个整数b,p,k. 输出格式: 输出“b^p mod k=s” s为运算结果 输入输出样例 输入样例#1: 2 10 9 输出样例#1: 2^10 mod 9=7 快速幂,随手取膜 #include<cstdio> #include<iostream> using namespace std; int b,p,k; #define LL long long LL q_