ll1111r 2017-12-02 06:45 采纳率: 33.3%
浏览 809

新手,一道最简单的幂运算

#include

int main()
{
int a,b,t;int mult=1;
scanf("%d%d",&a,&b);
while(a>=1 && b<=9)
{

    if(b==1)  printf("%d",a);
    else if((b&1)==1)
    {
        for(int i=1;i<=(b+1)/2;i++)
            {
            t=a*a;
            mult*=t;
            }
    }
    else
        for(int i=1;i<=b/2;i++)
            {
            t=a*a;
            mult*=t;
            }
            if((b&1)==1)  printf("%d\n",mult/a);
            else          printf("%d\n",mult);
    mult=1;
    scanf("%d%d",&a,&b);

}


return 0;

}

多组输入数据
每一组输入只有一行,包括两个正整数a和b(1<=a,b<=9)
这道题是求a的b次方,但我上传后,显示超出时间限制。

  • 写回答

6条回答 默认 最新

  • threenewbee 2017-12-02 06:50
    关注

    要看题目要求,怎么结束程序的。
    while(a>=1 && b<=9)
    你这个是死循环,一直在让用户输入a b
    但是oj平台肯定要有个条件退出的。

    评论

报告相同问题?

悬赏问题

  • ¥15 mmocr的训练错误,结果全为0
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀