cxk521aoligei
2021-09-20 21:38
采纳率: 95%
浏览 48

取幂快速算法问题c语言

开始学习数据结构和算法,有一个取幂快速算法例子,自己写了一下
发现2的62次方这种数打印的值是0,不知道为啥
下面是代码

#include<stdio.h>
 long int pow(long int x,unsigned int n);
 long int pow(long int x,unsigned int n)
{
    
    if(n==0)
    {
        return 1;
        
    }
        else if(n==1)
    {
        return x;
        
    }
        else if(!(n%2))
    {
        return pow(x*x,n/2);
        
    }
    else
    {
        return pow(x*x,n/2)*x;
        
    }
    
    
    
    
}
int main(void)
{
    int x,n;
    scanf("%d%u",&x,&n);
printf("%d",pow(x,n));
return 0;
}    
    
```c


![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/494102541236163.png "=600 #left")
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

2条回答 默认 最新

相关推荐 更多相似问题