2022浙江工業(yè)大學(xué)程序設(shè)計(jì)迎新賽——決賽J題題解-創(chuàng)新互聯(lián)

Pseudorandom Number Generator

我們提供的服務(wù)有:成都網(wǎng)站制作、成都做網(wǎng)站、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、西工ssl等。為數(shù)千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的西工網(wǎng)站制作公司

Description

偽隨機(jī)數(shù)生成器 (Pseudorandom Number Generator, PRNG) 是用于生成接近于絕對(duì)隨機(jī)數(shù)序列的數(shù)字序列的算法。一般來說,偽隨機(jī)數(shù)生成器依賴于一個(gè)初始值,也稱為種子,來生成對(duì)應(yīng)的偽隨機(jī)數(shù)序列。只要種子確定,使用偽隨機(jī)數(shù)生成器生成的隨機(jī)數(shù)就是完全確定的,因此其生成的隨機(jī)數(shù)序列并不是真正隨機(jī)的。

生成偽隨機(jī)數(shù)的方法非常多,例如,我們可以通過以下方法得到?[0, p - 1] 范圍內(nèi)偽隨機(jī)整數(shù)。

int seed = 初始種子, a = 初始參數(shù), p = 初始參數(shù);
int generate() {
    seed = (seed * seed + a) % p;
    return seed;
}

換句話說,假設(shè)初始參數(shù) seed,?a,?p?給定,我們生成的隨機(jī)數(shù)序列實(shí)際上是

f(seed),f(f(seed)),f(f(f(seed))),?

不過,可以注意到,每次生成的隨機(jī)數(shù)由上一個(gè)隨機(jī)數(shù)唯一確定,經(jīng)過一定次數(shù)的迭代后,必然會(huì)陷入一個(gè)循環(huán),我們稱這個(gè)循環(huán)的循環(huán)節(jié)為這個(gè)隨機(jī)數(shù)序列的周期。

現(xiàn)在,給定 seed,?a?和?p,你需要計(jì)算使用該方法生成的隨機(jī)數(shù)序列的周期。

Input

輸入共一行,包含三個(gè)整數(shù) seed,?a,?p(0≤seed,a

Output

輸出共一行,包含一個(gè)整數(shù),表示生成的隨機(jī)數(shù)序列的周期。

Sample Input 1?

1 14 514

Sample Output 1

18

Hint

生成的序列的前 30 項(xiàng)為 15, 239, 81, 407, 155, 395, 297, 329, 315, 37, 355, 109, 73, 203, 103, 343, 471, 321, 255, 275, 81, 407, 155, 395, 297,329, 315, 37, 355, 109。

可以看到,從第三個(gè)隨機(jī)數(shù)?8181?開始,之后的序列周期性出現(xiàn),周期為?1818。


先打出來檢索的代碼,再來插旗子判斷即可:

#includeusing namespace std;
const int N=10000010;
int aa[N],b[N]={},c[N];
int main()
{
	long long seed,a,p;
	cin >>seed >>a >>p;
	aa[1]=seed;
	int cnt=0;
	for(int i=1;;i++)
	{
		seed=(seed*seed+a)%p;
		aa[i]=seed;
		// aa[i+1]=(aa[i]*aa[i]+a)%p;
		b[seed]++;
		
		if(b[seed]==2)
		{
			cnt=i;
			break;
		}
		// cout<

數(shù)組要開到范圍外,我因?yàn)閿?shù)組不對(duì)wa了12發(fā),一直run time error,麻了,悲

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

當(dāng)前題目:2022浙江工業(yè)大學(xué)程序設(shè)計(jì)迎新賽——決賽J題題解-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://bm7419.com/article8/dicgop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站導(dǎo)航建站公司、面包屑導(dǎo)航、手機(jī)網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)