小苯的权值计算
比赛主页
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 1024 M,其他语言2048 M
64bit IO Format: %lld
题目描述
小苯通过如下步骤计算一个长度为
的数组
的权值:
计算所有相邻元素的
异或和
,形成一个长度为
的新数组
(形式化的,
)。
定义数组
的权值为数组
的
最大公因数
(形式化的,权值为
)。
小红构造了一个长度为
且元素均为正整数的数组
,他想让小苯计算这个数组的权值。
请你帮帮小苯。
【名词解释】
异或和
:两个数进行按位异或运算的结果。
最大公因数
(gcd):指多个整数共有因数中最大的一个。例如,
、
和
的公因数有
,其中最大的因数是
,因此
。特殊的,定义
。
输入描述:
第一行输入一个整数
,表示数组的长度。
第二行输入
个整数
,表示小红构造的数组。
输出描述:
输出一个整数,代表数组的权值。
示例1
输入
复制
3 1 2 3
3 1 2 3
输出
复制
1
1
说明
在这个样例中,新数组
,其最大公因数为
。
示例2
输入
复制
4 1 2 4 8
4 1 2 4 8
输出
复制
3
3
小苯的权值计算
返回全部题目
列表加载中...
3 1 2 3
1
4 1 2 4 8
3