ll1111r 2017-12-02 13:20 采纳率: 33.3%
浏览 834

一道简单的幂运算题目,找不到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条回答 默认 最新

  • ll1111r 2017-12-02 13:20
    关注

    #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;

    }

    重贴一遍代码,比较好看

    评论

报告相同问题?

悬赏问题

  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘