7/21 E 解题报告

来源:互联网 发布:广州开发区西区程序员 编辑:程序博客网 时间:2024/06/09 22:09

7/21 E 解题报告

这题不需要什么算法,对数学熟悉的就很容易想到。求N^N的最后一位,乘法的末位是末位相乘的末位。于是,末位变化是有规律的。直接枚举0-9的规律即可。比如7-9-3-1这样变化。
以下是代码(可直接AC):

#include <iostream>using namespace std;int main(){    int t,dig,pos;    long long n;    int k[10][10]={{0},    {1},    {2,4,8,6},    {3,9,7,1},    {4,6},    {5},    {6},    {7,9,3,1},    {8,4,2,6},    {9,1}};    int l[]={1,1,4,4,2,1,1,4,4,2};    cin>>t;    while(t--)    {        cin>>n;        dig=n%10;        pos=n%l[dig]-1;        if(pos<0)            pos=l[dig]-1;        cout<<k[dig][pos]<<endl;    }    return 0;}
0 0
原创粉丝点击