您的位置:首页 > 大数据 > 人工智能

Codeforces Round #383 (Div. 2) A.Arpa’s hard exam and Mehrdad’s naive cheat【循环节/快速幂】

2016-12-07 11:15 507 查看
A. Arpa’s hard exam and Mehrdad’s naive cheat

time limit per test
1 second

memory limit per test
256 megabytes

input
standard input

output
standard output

There exists an island called Arpa’s land, some beautiful girls live there, as ugly ones do.

Mehrdad wants to become minister of Arpa’s land. Arpa has prepared an exam. Exam has only one question, given
n, print the last digit of
1378n.



Mehrdad has become quite confused and wants you to help him. Please help, although it's a naive cheat.

Input
The single line of input contains one integer n (0  ≤  n  ≤  109).

Output
Print single integer — the last digit of 1378n.

Examples

Input
1


Output
8


Input
2


Output
4


Note
In the first example, last digit of 13781 = 1378 is
8.

In the second example, last digit of 13782 = 1378·1378 = 1898884 is
4.

题目大意:

求1378^n%10的值。

思路:

1、寻找循环节,但是别忘了n==0的情况,或者直接用快速幂的方式。

Ac代码:

#include<stdio.h>
#include<string.h>
using namespace std;
#define ll __int64
long long int kuaisumi(long long int a,long long int b,int mod)
{
long long int tmp=a%mod;
long long int ans=1;
int n=b;
while(n)
{
if(n%2==1)
{
ans=(ans*tmp)%mod;
n-=1;
}
else
{
tmp=(tmp*tmp)%mod;
n/=2;
}
}
return ans;
}
int main()
{
ll n;
while(~scanf("%I64d",&n))
{
printf("%I64d\n",kuaisumi(1378,n,10));
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Codeforces383 Div. 2
相关文章推荐