MOD
给你二个整数p和a,其中p是质数。求ap除以p后的余数。
输入:
每一行包含a和p,p=0时结束输入,最后一行输入不处理。
输出:
每一行输出所求的值。
例子:
In:
2 2
2 3
1 0
Out:
0
2
Hint: 1 0时,因为p = 0, 结束输入。
Source:WT
用到费马小定理。
若p为质数,则ap % p =a % p,
a<0时,ap % p =a % p +p,(若(-a)%p==0),则ap % p = 0 )
#include<stdio.h>
int main()
{
int a,p;
while(scanf("%d%d",&a,&p)!=EOF,p)
a<0?((-a)%p==0?printf("0\n"):printf("%d\n",(a%p)+p)):printf("%d\n",a%p);
return 0;
}
/**************************************************************************
                 
原文来自博客园——Submarinex的博客: www.cnblogs.com/submarinex/               
 
*************************************************************************/