标签:bestcoder hdu 5391 打表 数论 acm
威尔逊定理:当且仅当p为素数时:( p -1 )! ≡ p-1 ( mod p ) 这是一个充分必要条件
这道题是用威尔逊定理做,但不知道定理的话,也没关系,可以打个表,
总结:数论一些题就算不知道某个知识点,也要试着打下表,看能不能找到规律
#include<cstdio> int main() { for(int i=1;i<=13;i++) { int sum=1; for(int j=1;j<i;j++) sum*=j; printf("%d\n",sum%i); } return 0; }
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5391
#include<cstdio> #include<cmath> int main() { int t; scanf("%d",&t); while(t--) { int n; scanf("%d",&n); if(n==4) {printf("2\n");continue;} if(n==1) {printf("1\n");continue;} int flag=1; int m=floor(sqrt(n*1.0)+0.5);//注意这个长的表达式不能放在for的判断条件,会超时 for(int i=2;i<=m;i++) { if(n%i==0) { flag=0;break; } } if(flag) printf("%d\n",n-1); else printf("0\n"); } return 0; }
版权声明:转载务必请标明出处,谢谢
BestCoder Round #51 (div.2) Zball in Tina Town
标签:bestcoder hdu 5391 打表 数论 acm
原文地址:http://blog.csdn.net/wyt734933289/article/details/47720327