谁能帮帮我,实在不会啊,万分感谢!
算法实验题2.1 第k小元素问题★问题描述
给定一个随机种子seed,由以下公式可以得到序列f (n)的前n项。
Seed if n=1
f (n) = (2*f (n-1)+3*n)%MOD if (n>1) and (f (n-1)%2=0)
(3*f (n-1)+5*n)%MOD if (n>1) and (f (n-1)%2=1)
其中,MOD=134217727。
例如seed=2,n=5, f (n)前5项分别是2,10,29,107,346。
★编程任务
给定一个随机种子seed,设计一个O(n)的算法,求f (n)的前n项中,第k小元素的值。
★数据输入
输入包括三个正整数seed,n,k。
其中1≤seed≤10,000,000 1≤k≤n≤10,000,000。
★数据输出
输出一行一个整数,表示在f (n)序列的前n项中的第k小元素。
输入文件示例 输出文件示例
2 5 4 107