UVA 10006(卡迈克尔数+素数打表)
来源:互联网 发布:java返回值类型是什么 编辑:程序博客网 时间:2024/05/01 08:07
uva10006 Carmichael Numbers(卡迈克尔数+素数打表)
发表于2017/2/20 21:43:25 16人阅读
分类: 其他oj 数论-组合数学
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=12&page=show_problem&problem=947
题意:判断一个数是否是卡迈克尔数。
刚开始看到x^n≡x(mod n)老实说把我吓了一跳,一个数余n怎么会搞出一个这么大的数。想了半天一度怀疑人生,去翻题解,结果主流都是相当于求解x≡x^n(mod n),就以为是不是书中印错了。直到后来看到了卡迈克尔数的定义:
我擦嘞原来人家真的是这么定义的,再往下翻好像和费马小定理类似。。什么??费马小定理??好像前几天看过没看懂。。
是的和费马小定理一毛一样。。
好吧,看来书是对的,可是还是不能说明这个式子的不合理性呀。
直到看见同余式的定义:
原来b^(n-1)-1能被n整除就行。。同余式的概念没理解。。这下真的怀疑人生了。。
问题又来了,怎么算出整除结果呢?没错这就是卡迈克尔数的难度,是否是卡迈克尔数的公式要自己推啊,现在还没有最标准的解,要不怎么会有余建春这种风靡一时的事迹。。
我们再看一眼题:
用自己吃奶的英语翻译,人家先是给了一个式子,然后说如果这个数通过了费马测试(后来验证这不是费马测试的式子,只是打错了而已)就是可靠性高的。但是很不幸!有一些不是素数的仍然通过了费马测试,这些书就叫卡迈克尔数。这个问题就是让你写个程序判断是否是卡迈克尔数。
至少可以肯定不是按照给出的这个式子解了,和这个式子无关。
扫了一眼网上的题解,感觉也就这个比较正确:大牛orz
主要给出的是一个判别法,很有价值:
不过这大牛题解第一句话就没看懂,什么“根据考塞特判别法,我们只需要求≤maxn/3的素数”,为毛要除啊声泪俱下。。
索性自己按照着定理来了一遍,虽然时间多一点,不过感觉更容易懂。
顺便体验了一把uva的龟速:(真正体验到了时差,我是晚上做的)
同时也向余建春表示敬意,居然真的有人闲的没事研究这种问题,我这渣渣望其项背啊。。
哎,又一个题做了一天,这种题下次遇到放到以后做吧,密码学也许研究生才学,不过现在只是想争取学的机会啊,别越级打怪了。。
。。。
最后还有一个问题,那些用快速幂过的连公式都没用对,到底是怎么过的??
- UVA 10006(卡迈克尔数+素数打表)
- uva10006 Carmichael Numbers(卡迈克尔数+素数打表)
- UVA - 10392 Factoring Large Numbers(素数打表)
- UVA 10200 Prime Time (素数判定打表)
- UVA 10200 Prime Time (素数打表)
- UVa 10006 Carmichael Numbers 【快速幂+素数打表(埃氏筛法)】
- 素数打表 UVA 10200 - Prime Time
- (二) :美素数(打表+拆数)
- hdoj2012素数判定(素数打表)
- 美素数(素数打表)
- HDU2098(素数打表)
- 习题10-5 UVA - 1213 Sum of Different Primes 不同的素数之和(DP + 素数打表)
- 习题10-4 UVA 1644 Prime Gap(素数打表+二分查找)
- UVA 1210 Sum of Consecutive Prime Numbers(素数打表)
- Uva-10200 Prime Time 【素数+打表+浮点精度】
- hdu 1999 不可摸数 筛选素数 两次打表
- 素数判定 - 素数打表
- 素数(打表,判断,快速打表)
- 用人话解释机器学习中的Logistic Regression(逻辑回归)
- Tower of Hanoi(汉诺塔)
- mysql 从字段中截取数字,并求截取数字的最大值
- Tinker 处理patch流程
- 006.顺序栈C实例
- UVA 10006(卡迈克尔数+素数打表)
- Spatial references, coordinate systems, projections, datums, ellipsoids – confusing?
- Visual Studio "类视图"和“对象浏览器”图标含义
- Devirtualization in LLVM and Clang
- 迭代与递归浅析
- 究竟选择32位还是64位Linux系统?
- parasoft Jtest 使用教程:创建并使用Objects提高测试覆盖率
- SQLServer 2000 异常
- 一些比较好的博客网站链接