ll1111r
2017-12-02 13:20一道简单的幂运算题目,找不到bug,戳进来帮个忙!感谢!
对于每一组数据,输出a的b次方
结果对1,000,000,007取模
Sample Input
1 1
2 2
56 23
Sample Output
1
4
173541855
#include
#include
int APP(int a,int b,int m);
int main()
{
int a,b,m,t;
while(scanf("%d%d",&a,&b)!=EOF)
{ if(a>=b && b<=1000 && b>0)
{
m=1000000007;
t=APP(a,b,m);
printf("%d\n",t);
}
}
}
int APP(int a,int b,int m)
{ int r =1;
a%=m;
while(b>1)
{
if((b&1)==1) r=(r*a)%m;
a=(a*a)%m;
b/=2;
}
return (r*a)%m;
}
这是学校的题目,不知道为什么验证 56 23 这组数据的时候出来的结果不对,
请大神们多多指教,谢谢!
- 点赞
- 回答
- 收藏
- 复制链接分享
1条回答
为你推荐
- 将Golang1.11与模块一起使用时,Protobuf导入“找不到文件”
- it技术
- 互联网问答
- IT行业问题
- 计算机技术
- 编程语言问答
- 1个回答
- 大哥帮忙找找漏洞呗!
- word
- vba
- 1个回答
- 大数减法 麻烦帮忙找一下BUG?
- bug
- strlen
- c++
- 1个回答
- 如何在 生产环境 找bug
- bug
- 调试
- visual studio
- vs2015
- c#
- 3个回答
- git中比如修改bug为什么要在bug分支中修改再合并到master中
- bug
- 合并
- git
- 12个回答
换一换