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
Output
Input
Output
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));
}
}
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));
}
}
相关文章推荐
- Codeforces Round #383 (Div. 2) A. Arpa’s hard exam and Mehrdad’s naive cheat(快速幂水题)
- Codeforces Round #383 (Div. 2) 742A Arpa’s hard exam and Mehrdad’s naive cheat
- 742 A - Arpa’s hard exam and Mehrdad’s naive cheat codeforces
- Codeforces Round #383 (Div. 2)C. Arpa's loud Owf and Mehrdad's evil plan(dfs&lcm)
- Codeforces Round #383 (Div. 2)-C. Arpa's loud Owf and Mehrdad's evil plan
- Codeforces Round #383 (Div. 2) B. Arpa’s obvious problem and Mehrdad’s terrible solution 数学
- Codeforces Round #383 (Div. 2) A. Arpa’s hard exam and Mehrdad’s naive cheat(水题)
- Codeforces Round #383 (Div. 2) B. Arpa’s obvious problem and Mehrdad’s terrible solution(STL乱搞)
- Codeforces 742A-Arpa’s hard exam and Mehrdad’s naive cheat(快速幂)
- Codeforces Round #383 (Div. 2)-A. Arpa’s hard exam and Mehrdad’s naive cheat
- Codeforces Round #383 (Div. 2) B. Arpa’s obvious problem and Mehrdad’s terrible solution
- B - Arpa’s hard exam and Mehrdad’s naive cheat vj
- Arpa’s hard exam and Mehrdad’s naive cheat
- Codeforces Round #432 Div2 B. Arpa and an exam about geometry
- 【codeforces 742A】Arpa’s hard exam and Mehrdad’s naive cheat
- A. Arpa’s hard exam and Mehrdad’s naive cheat
- Codeforces Codeforces Round #432 (Div. 2 D ) Arpa and a list of numbers
- Codeforces Round #425 (Div. 2) B. Petya and Exam【模拟】
- Codeforces Codeforces Round #432 (Div. 2 D ) Arpa and a list of numbers
- Codeforces Codeforces Round #432 (Div. 2 D ) Arpa and a list of numbers