[讨论] 96年 全国资讯能力竞赛 P6

楼主: yuscvscv (小可鱼)   2009-08-26 18:06:55
题目:
有个式子 X^2 % M == 1
给个M,求出X。
各数字的范围(0 < X <= M <= 2147483647)
输入
一个数字M
输出
先输出有几组解,之后每行各输出一组解
Sample 1
Input
5
Output
2
1
4
Sample 2
Input
8
Output
4
1
3
5
7
Sample 3
Input
15
Output
4
1
4
11
14
即使利用答案的对称性将时间复杂度降到O(n/2),
但有3组测资还是会超过限制的30s,然后TLE = =
(测资共5组 如下 仅供参考,Output很大就不PO了)
36
2147483647
2146654199
111546435
1509949440
作者: scan33scan33 (亨利喵)   2009-08-26 22:36:00
用中国余式定理爆开?
楼主: yuscvscv (小可鱼)   2009-08-26 22:44:00
我先google一下那是什么东西XD原来是那个喔 不过要怎么爆?感觉不太像....
作者: scan33scan33 (亨利喵)   2009-08-27 10:26:00
http://www.numbertheory.org/php/squareroot.htmlx^2=1好像有比较简单的解法......
楼主: yuscvscv (小可鱼)   2009-08-27 13:30:00
喔喔 太强大了~ 感谢经过学长的讲解 用不定方程搞成O(sqrt(n))乱搜就OK了~
作者: scan33scan33 (亨利喵)   2009-08-28 22:05:00
喔喔!希望是有帮上忙就好了!:)
楼主: yuscvscv (小可鱼)   2009-08-29 00:17:00
他这个方法好像用来求一组解

Links booklink

Contact Us: admin [ a t ] ucptt.com