江门市住房和城乡建设部网站,世界著名室内设计案例,建设旅游网站的功能定位,有了云服务器怎么建设网站伪随机数生成器 题目描述 baidu熊最近在学习随机算法#xff0c;于是他决定自己做一个随机数生成器。 这个随机数生成器通过三个参数c, q, n作为种子, 然后它就可以通过以下方式生成伪随机数序列#xff1a; m0 c, mi1 (q2mi 1) mod 2n, for all i 0. 因为一些奇怪的…伪随机数生成器 题目描述 baidu熊最近在学习随机算法于是他决定自己做一个随机数生成器。 这个随机数生成器通过三个参数c, q, n作为种子, 然后它就可以通过以下方式生成伪随机数序列 m0 c, mi1 (q2mi 1) mod 2n, for all i 0. 因为一些奇怪的原因q 一定是奇数。现在du熊想知道对于一个给定的数 x 是不是会出现在这个伪随机数序列里面如果存在的话他还想知道最早是在哪里出现即给定一个整数 x 要求找出一个最小的整数 k 满足 mk x. 输入格式 输入包含多组数据。 每个测试数据包含一行三个整数: c, q, n, x. 数据满足0 c 2n, 0 q2 263, 0 n 63, 0 x 263. 输入以文件结束符结尾。 输出格式 对应每个测试数据输出满足条件的k如果x不会出现在序列里面的话就输出-1。 样例输入 1 3 3 5 1 3 2 5 样例输出 4 -1 这道题第一感觉觉得应该是用费马小定理或者欧拉定理之类的东西再分析递推后来才发现想错了浪费了很多时间暂时也不知道代码写的对不对测试了几组都是对的到时候确认了再发代码吧。 很容易知道循环节是2^n白晔说当n充分小的时候Miic(mod2^n).........如果n过大就得加上一个2^m。。那是不是不会通过所有的数据。。。 转载于:https://www.cnblogs.com/whatthefy/archive/2013/03/30/2991025.html