码迷,mamicode.com
首页 > 其他好文 > 详细

1046 A^B Mod C

时间:2018-01-21 01:06:27      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:技术分享   空间   第一个   oid   play   scan   inpu   long   dal   

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

OK,long long! long long! long long!

Q >>1和>>=1的区别?
A 第一个是运算,第二个是赋值!赋值!

 就这样了

技术分享图片
 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 
 4 int n;
 5 char a[10000],b[10000];
 6 long long s1[10000],s2[10000],ans[100000];
 7 const long long mod=1e6;
 8 //struct yl{
 9 //    int num,val;
10 //}s[50010];
11 //int tree[50000];
12 //bool cmp(yl p,yl q)
13 //{
14 //    return p.val>q.val;
15 //}
16 //void add(int a,int b,int c)
17 //{
18 //    r++;
19 //    q[r].x=a;q[r].y=b;q[r].w=c;
20 //}
21 
22 
23 //#define nx x+d[h][0]
24 //#define ny y+d[h][1]
25 
26 inline int read()
27 {
28     char ch=getchar();
29     int k=0;
30     while (ch<0 || ch>9) {
31         ch=getchar();
32     }
33     while (ch>=0&&ch<=9) k=k*10+(ch^48),ch=getchar();
34     return k;
35 }
36 
37 int main()
38 {
39     long long a,b,c,k,ans=1;
40     scanf ("%lld%lld%lld",&a,&b,&c);
41     k=a;
42     while (b!=0)
43     {
44         if (b&1!=0) ans=ans*k,ans=ans%c;
45         k=k*k,k=k%c;
46         b>>=1;
47     }
48     printf("%lld",ans);
49     return 0;
50 } 
dalao勿喷

 

1046 A^B Mod C

标签:技术分享   空间   第一个   oid   play   scan   inpu   long   dal   

原文地址:https://www.cnblogs.com/rtyz/p/8322362.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!