码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-05-08 21:56:13      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:efi   思路   long   href   div   简单   cout   快速幂   pre   

题意:

最简单的快速幂。给你两个数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 )

标签:efi   思路   long   href   div   简单   cout   快速幂   pre   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!