1001:
费马小定理:
假如 p 是质数,且(a,p)=1,那么 a^(p-1) ≡1(mod p)。即:假如 a 是整数,p 是质数,且 a,p 互质,那么 a 的(p-1)次方除以 p 的余数恒等于 1。 证明:设 p 是奇素数,证明 1^n+2^n+…+(p-1)^n=0(mod p)其中,p-1 不整除 n
1^n+2^n+…+(p-1)^n (mod p) = (1^n + (p-1)^n) + (2^n + (p-2)^n) + ... + (((p-1)/2)^n + ((p+1)/2)^n) (mod p) = (1^n - 1^n) + (2^n - 2^n) + (3^n - 3^n) + ... + (((p-1)/2)^n - ((p-1)/2)^n) (mod p) = 0 (mod p) 证明:设 p 是奇素数,证明 1^n+2^n+…+(p-1)^n= p-1 (mod p)其中,p-1|n(p-1 整除 n, 如 2|6) 由费马小定理可知:i^n= (i^(p-1)^(n/p-1)) = (i^(n/p-1))^(p-1) = 1 (mod p); 则 1^n+2^n+…+(p-1)^n= p-1 (mod p) 因为 Alicen 先选只要看 n/(p-1)是否为奇数即可
参考代码:
费马小定理:
假如 p 是质数,且(a,p)=1,那么 a^(p-1) ≡1(mod p)。即:假如 a 是整数,p 是质数,且 a,p 互质,那么 a 的(p-1)次方除以 p 的余数恒等于 1。 证明:设 p 是奇素数,证明 1^n+2^n+…+(p-1)^n=0(mod p)其中,p-1 不整除 n
1^n+2^n+…+(p-1)^n (mod p) = (1^n + (p-1)^n) + (2^n + (p-2)^n) + ... + (((p-1)/2)^n + ((p+1)/2)^n) (mod p) = (1^n - 1^n) + (2^n - 2^n) + (3^n - 3^n) + ... + (((p-1)/2)^n - ((p-1)/2)^n) (mod p) = 0 (mod p) 证明:设 p 是奇素数,证明 1^n+2^n+…+(p-1)^n= p-1 (mod p)其中,p-1|n(p-1 整除 n, 如 2|6) 由费马小定理可知:i^n= (i^(p-1)^(n/p-1)) = (i^(n/p-1))^(p-1) = 1 (mod p); 则 1^n+2^n+…+(p-1)^n= p-1 (mod p) 因为 Alicen 先选只要看 n/(p-1)是否为奇数即可
参考代码:
#include<stdio.h>
int main(){
int k,p;
while(~scanf("%d%d",&k,&p))
{
k=k/(p-1);
if(k&1) printf("YES\n");
else printf("NO\n");
}
return 0;
}