#2021年 第12届 蓝桥杯 第3次模拟赛真题 三C【Java版】
三、C
问题描述
对于整数 v 和 p,定义 Pierce 序列为:
a[1] = v
a[i] = p % a[i-1]
例如,当 v = 8, p = 21 时,对应的 Pierce 序列为
a[1] = 8
a[2] = 5
a[3] = 1
再往后计算,值变为 0,不在我们考虑的范围内。因此当 v = 8, p = 21 时, Pierce 序列的长度为 3。
当 p 一定时,对于不同的 v 值,Pierce 序列的长度可能不同。当 p = 8 时,若 1<=v<p,最长的 Pierce 序列出现在 v=13时,为(13, 8, 5, 1),长度为 4。
当 p=2021 时,最长的 Pierce 序列出现在 v=1160 时,请问这个序列有多长?
答案提交
这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
static int sum=0;
static int[][] a;
static int[][] b;
public static void main(String[] args) {
int v=1160;
int p=2021;
int[] a=new int[50];
a[0]=v;
int k=1;
while(v!=0) {
a[k]=p%a[k-1];
v=p%a[k-1];
k++;
sum++;
}
System.out.println(sum++);
}
}