Submission #6949965


Source Code Expand

#include<iostream>
#include<cstdio>
using namespace std;
//分治快速幂 
/*unsigned long long fast(unsigned long long a,unsigned long long n,unsigned long long p){
	if(n==0) return 1%p;
	if(n==1) return a%p;
	unsigned long long s=fast(a,n/2,p);
	s=(s*s)%p;
	if(n%2==1) s=(s*a)%p;
	return s;
}*/
unsigned long long fast(unsigned long long a,unsigned long long n,unsigned long long p){
	unsigned long long s=1%p;
	while(n){
		if(n&1) s=(s*a)%p;
		a=(a*a)%p;
		n>>=1;
	}
	return s;
}
int main(){
	/*while(n){//二进制反序输出 
		cout<<n%2;
		n/=2;
	}*/
	/*int n;
	scanf("%d",&n);
	int i=0;
	while(n){
		if(n%2==1) printf("%d ",1<<i);
		i++;
		n/=2;
	}*/
	//位运算:比+-*/都要快 
	/*
	n&1:取n的二进制末位,相当于n%2;
	n>>1:右移1位,相当于n/2; 
	n<<1:左移1位,相当于n*2; 
	1<<k;相当于2^k;
	a*10=a*(8+2)=a<<3+a<<1;
	*/
	/*(a+b)%p=(a%p+b%p)%p=(a%p+b)%p;
	(a*b)%p=(a%p*b%p)%p=(a%p*b)%p;
	(a-p)%p=(a%p-b%p+p)%p;·
	(a^n)%p=(...(((a%p)*a)%p)*a)%p:
	s=1;
	for(int i=0;i<n;i++) s=(s*a)%p;*/
	//快速幂:a^n 若n<=1e7,用上述方式暴力求解即可
	//若n>1e7 如1e9,1e13等,需要用到快速幂:a^n求数的n次方,A^n求矩阵的n次方
	//暴力方式: 
	/*long long b,p,k,s=1;
	scanf("%lld%lld%lld",&b,&p,&k);
	for(long long i=0;i<p;i++) s=(s*b)%k;
	printf("%lld^%lld mod %lld=%lld",b,p,k,s);*/
	//快速幂求2^19:
	/*a*a=a^2;
	a^2*a^2=a^4;
	a^4*a^4=a^8;
	a^8*a=a^9;
	a^19=a^9*a^9*a;
	比for(int i=1;i<=19;i++) ans*=2;要快.*/ 
	//求a^n的值:
	/*s=a^(n/2);
	s*=s;
	if(n&1) s*=a; */
	//倍增快速幂: 
	unsigned long long a,n,p,s;
	cin>>a>>p>>n;
	cout<<fast(a,n,p); 
	return 0;
}

Submission Info

Submission Time
Task B - n^p mod m
User luogu_bot3
Language C++ (GCC 5.4.1)
Score 0
Code Size 1689 Byte
Status WA
Exec Time 1 ms
Memory 256 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 100
Status AC
WA × 29
Set Name Test Cases
Sample
All 001.txt, 002.txt, 003.txt, 004.txt, 005.txt, 006.txt, 007.txt, 008.txt, 009.txt, 010.txt, 011.txt, 012.txt, 013.txt, 014.txt, 015.txt, 016.txt, 017.txt, 018.txt, 019.txt, 020.txt, 021.txt, 022.txt, 023.txt, 024.txt, 025.txt, 026.txt, 027.txt, sample_01.txt, sample_02.txt
Case Name Status Exec Time Memory
001.txt WA 1 ms 256 KB
002.txt WA 1 ms 256 KB
003.txt WA 1 ms 256 KB
004.txt WA 1 ms 256 KB
005.txt WA 1 ms 256 KB
006.txt WA 1 ms 256 KB
007.txt WA 1 ms 256 KB
008.txt WA 1 ms 256 KB
009.txt WA 1 ms 256 KB
010.txt WA 1 ms 256 KB
011.txt WA 1 ms 256 KB
012.txt WA 1 ms 256 KB
013.txt WA 1 ms 256 KB
014.txt WA 1 ms 256 KB
015.txt WA 1 ms 256 KB
016.txt WA 1 ms 256 KB
017.txt WA 1 ms 256 KB
018.txt WA 1 ms 256 KB
019.txt WA 1 ms 256 KB
020.txt WA 1 ms 256 KB
021.txt WA 1 ms 256 KB
022.txt WA 1 ms 256 KB
023.txt WA 1 ms 256 KB
024.txt WA 1 ms 256 KB
025.txt WA 1 ms 256 KB
026.txt WA 1 ms 256 KB
027.txt WA 1 ms 256 KB
sample_01.txt WA 1 ms 256 KB
sample_02.txt WA 1 ms 256 KB