#6617. 最大的二次幂因子
最大的二次幂因子
题目 1:最大的二次幂因子
题目描述
对于任意正整数 x,定义函数 F(x) 如下:
F(x)是2的整数次幂;F(x)能够整除x;- 在满足上述条件的所有整数中,
F(x)的值最大。
例如:
F(12)=4
因为:
12 = 3 × 4
其中:
4 = 2²
是能够整除 12 的最大的 2 的整数次幂。
再例如:
F(40)=8
因为:
40 = 5 × 8
而:
16
不能整除 40,因此:
F(40)=8
请你根据给定的整数 x,计算 F(x) 的值。
输入格式
输入一个正整数:
x
输出格式
输出一个整数,表示 F(x) 的值。
数据范围
1 ≤ x ≤ 10^9
样例输入 1
12
样例输出 1
4
样例输入 2
40
样例输出 2
8
样例解释
对于样例 1:
12 = 3 × 4
其中 4=2²,是能够整除 12 的最大的 2 的整数次幂,因此答案为:
4
对于样例 2:
40 = 5 × 8
其中 8=2³,且 16 不能整除 40,因此答案为:
8
数据范围
对于所有测试数据,保证:
1 ≤ x ≤ 10^9
提示
如果采用不断判断是否能被 2 整除的方法,也能够求出答案。
不过,是否存在一种只需一次位运算即可得到结果的方法?
相关
在以下作业中: