【数学基础】快速幂
2014-01-18 03:28
316 查看
快速幂 | ||
| ||
description | ||
给定3个正整数a,b,m,求a^b % m的值。 | ||
input | ||
输入数据第一行一个T(T<=100),表示测试数据的组数,接下来T行,每行3个数a,b,m,数据范围都在10^9以内。 | ||
output | ||
输出结果。 | ||
sample_input | ||
2 2 3 5 5 6 7 | ||
sample_output | ||
3 1 |
#include <stdlib.h>
#define MAX 100010
long long f(long long a,long long b,long long c);
int main()
{
long long n;
while(scanf("%lld",&n)!=EOF)
{
long long b[MAX];
long long i,num1,num2,num3;
for(i=0;i<n;i++)
{
scanf("%lld%lld%lld",&num1,&num2,&num3);
b[i]=f(num1,num2,num3);
}
for(i=0;i<n;i++)
printf("%lld\n",b[i]);
}
return 0;
}
long long f(long long a,long long b,long long c)
{
long long m=1;
a=a%c;
while(b)
{
if(b%2==1)
{
m=m*a%c;
b--;
}
b>>=1;
a=a*a%c;
}
return m;
}
相关文章推荐
- 【数学基础】【快速幂运算模板】
- 机器学习的数学基础:向量篇
- 数学基础-条件期望
- 数学之路(2)-数据分析-R基础(17)
- 努力打造基础数学普及教育网站的知名品牌(iCalculus)
- 基础数学
- flash3D开发基础-------数学基础1
- ios开发kvo模式基础-Key-Value Observing 快速入门
- 3D数学基础---坐标系
- Objective-C 快速入门--基础(三)
- 机器学习:LDA_数学基础_1:贝叶斯数学_基础
- 3D数学基础---矩阵的逆
- Perl 与数学:一份快速参考
- 高等数学基础
- linux下的C语言快速学习—计算机体系结构基础简单了解
- 【基础数学】 HDU 4465 Candy Log搞
- 【原创】开源Math.NET基础数学类库使用(05)C#解析Delimited Formats数据格式
- 机器学习:LDA_数学基础_3:贝叶斯数学:Beta和Dirichlet
- 免费教材丨第51期:数学基础课程----概率论教程、机器学习中的数学基础
- hdu 5793 A Boring Question (数学 + 快速幂 + 乘法逆元)