51Nod1046 A^B Mod C(C语言)
来源:互联网 发布:帝国cms 文字水印 编辑:程序博客网 时间:2024/05/22 09:10
给出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
C语言AC代码
#include<stdio.h>int PowerMod(long long a,long long b,long long c){ int ans=1; a=a%c; while(b>0) { if(b%2==1) ans=ans*a%c; a=a*a%c; b=b/2; } return ans; }int main(){ long long a,b,c; scanf("%lld%lld%lld",&a,&b,&c); a=PowerMod(a,b,c); printf("%lld\n",a); return 0;}思路:快速幂取余,具体参见我这篇博客咯~http://blog.csdn.net/sinat_39591298/article/details/76110919
逐步缩小范围法是一种常见的思维方法。二分查找便是基于这种思路,它遵循分治三步法,把原序列划分成元素个数尽量接近的两个子序列,然后递归查找。二分查找也使用于有序序列,时间复杂度为O(logn)。(摘自《算法竞赛入门经典(第2版)》)
尽管可以用递归实现,但一般把二分查找写成非递归的:本题就是二分查找,通过迭代实现。
心得:要真正的掌握,不多练习是不行的。
阅读全文
0 0
- 51Nod1046 A^B Mod C(C语言)
- A^B mod C
- A^B mod C
- A^B mod C
- 51nod 1046 A^B Mod C
- 51nod 1046 A^B Mod C
- 51nod 1046 A^B Mod C
- 51nod 1046 A^B Mod C
- 51nod 1046 A^B Mod C
- 51nod_1046 A^B Mod C
- 51Nod 1046 A^B Mod C
- 51nod 1046 A^B Mod C
- 51Nod 1046 A^B Mod C
- 模取幂运算 (a^b mod c)
- 模取幂运算 (a^b mod c)
- 模取幂运算 (a^b mod c)
- 51 nod 1046 A^B Mod C(快速幂取余)
- 51nod 1046 A^B Mod C (快速幂)
- 破解网页中鼠标无法复制粘贴文字的几种简单方法
- 如何申请域名并绑定ip
- 如何将svn上的项目下载到本地并转化成maven项目
- 【ASP.net】——必备基础
- Android日夜间模式切换
- 51Nod1046 A^B Mod C(C语言)
- kvm HOST setup
- linux 操作小笔记
- 数据结构—导图篇
- python入门(十四):冒泡排序
- 清理浮动那些事
- telnet协议详解
- github fork 出的仓库怎样与原仓库保持一致
- Python:for循环的使用-----求解转轴率pi