首页 > 其他 > 详细

人生第一个快速幂的题(HDU - 1097--A hard puzzle )

时间:2017-05-08 21:46:29      阅读:335      评论:0      收藏:0      [点我收藏+]

题意:

最简单的快速幂。给你两个数n和m,求n^m的最后一位;

解题思路:

额,快速幂就很简单了,这里只要最后一位可以一对每次运算都%10;

代码:

#include<cstdio>
#include<cstring>
#include<algorithm>
#include <iostream>
using namespace std;
#define N 100000
long long n,m;
long long pow_(long long n,long long m)
{
    long long ans=1;
    while (m!=0)
    {
        if (m&1) ans*=n%10;
        n*=n%10;
        m>>=1;   //将m右移,快速幂算法不会的看PS;
    }
    return ans;
}

int main()
{
    while (cin>>n>>m)
    {
        long long m1=pow_(n,m);
        cout<<m1<<endl;
    }
}

 PS:快速幂:http://www.cnblogs.com/SunQi-lvbu/p/6827815.html

人生第一个快速幂的题(HDU - 1097--A hard puzzle )

原文:http://www.cnblogs.com/SunQi-lvbu/p/6827805.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!