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

x ^y mod m

时间:2014-06-26 16:07:19      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:des   class   blog   数据   问题   io   

Description

 

 

许多著名的加密运算需要模指数运算。即,给定整数 x、y 和 m,计算 x ^y  mod 。本问题中,你

的任务是给出一个有效的程序执行这种计算。

 

Input

 

 

输入的第一行是一个测试数据的个数 n,接着是 n 组测试数据。每组测试数据由一行上的三个正整数 x、

 

y 和 m 构成,之间用空格隔开。你可以假定:1<x,m< =32768  1<y<109。

 

Output

 

 

对每组测试数据输出一行。第 i 行的输出是对于第 i 组测试数据 x、y 和 m,满足 z= y  mod 的非 负整数 z。

 

Sample Input

2 2 3 5 13314 15709 6501

Sample Output

3 3

HINT

本来懒得想那么多,直接就是a^m*b^m再^m算了,一个一个来,不要逼我

然后可想而知,超时了

上网查了一下,这题是有原型的,A^BmodC,大家可以查一下

嗯.....思路如下,二分法,永远比一个一个来要简单方便得多

#include "stdio.h"
int power(int a,int b,int c)
{
 int tmp;
 if (b==0)
 {
  return 1;
 }
 tmp=power((a*a)%c,b/2,c);
 if (b%2!=0)
 {
  tmp=(tmp*a)%c;
 }
 return tmp;
}
int main()
{
 int a,b,c;
 int number;
 scanf("%d",&number);
 while(number--)
 {
 	scanf("%d %d %d",&a,&b,&c);
 	printf("%d\n",power(a,b,c));
 }
 return 0;
}

  

x ^y mod m,布布扣,bubuko.com

x ^y mod m

标签:des   class   blog   数据   问题   io   

原文地址:http://www.cnblogs.com/zhko11993/p/3809027.html

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