N!
程序员文章站
2022-06-02 20:12:55
...
N!
时间限制:1000 ms | 内存限制:65535 KB
难度:3
- 描述
-
阶乘(Factorial)是一个很有意思的函数,但是不少人都比较怕它。现在这里有一个问题,给定一个N(0<0<1000000000),求N!的二进制表示最低位的1的位置(从右向左数)。
- 输入
- 本题有多组测试数据,每组数据一个正整数N(0<0<1000000000),以EOF结束
- 输出
- 求N!的二进制表示最低位的1的位置(从右向左数)。一组数据占一行。
- 样例输入
-
1 2 3 4
- 样例输出
-
1 2 2 4
- 提示
- 2! = (2)10 = (10)2,则第一个1是第二位
3! = (6)10 = (110)2,则第一个1是第二位4! = (24)10 = (11000)2,则第一个1是第四位
-
-
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while (scanner.hasNext()) { int result = 0; int number = scanner.nextInt(); while (number > 0) { number /= 2; result += number; } System.out.println(result + 1); } } }
上一篇: 如何利用微博营销运营推广引流
下一篇: 微博营销中 如何让你的图片被搜索引擎收录