BestCoder Round #51 (div.2) Zball in Tina Town
2015-08-17 09:39
169 查看
威尔逊定理:当且仅当p为素数时:(
p -1 )! ≡ p-1 ( mod p ) 这是一个充分必要条件
这道题是用威尔逊定理做,但不知道定理的话,也没关系,可以打个表,
总结:数论一些题就算不知道某个知识点,也要试着打下表,看能不能找到规律
运行一下,可以观察出来,合数结果都为0,质数结果都为n-1,有一个例外,就是4,它也输出2了;
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5391
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; }
运行一下,可以观察出来,合数结果都为0,质数结果都为n-1,有一个例外,就是4,它也输出2了;
题目链接: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; }
相关文章推荐
- 【机房收费系统】总览
- 【Python学习笔记】-生成验证码图片
- HTML滚动文字代码 marquee标签
- 中介模式和学习日记Effective C++
- PHP中的__set和__get方法
- Android 自定义圆形进度条
- Shell中 1>/dev/null 2>&1 含义
- Android系统-基于Android2.3.5系统:JNI与HAL实例解析[一]
- hive 数据导入的四种方法
- IOS7适配
- PHP中对象的本质
- java方法间传值方式
- Linerlayout(线性布局)
- 空间矢量数据(.shp文件)之JAVA操作
- [Java]Summary Ranges 统计区间
- 单例设计模式
- java通过jsch进行ssh操作
- 《数据结构与算法分析——c语言描述》读后笔记 7
- python的str,unicode对象的encode和decode方法
- HDU 5154 Harry and Magical Computer【逆拓扑】