/*
求N!的二进制表示中最低位1的位置
*/
#include <stdio.h>
int f(int n)
{
int i, sum;
sum = 1;
for (i=2; i<=n; i++)
sum = sum * i;
return sum;
}
int main()
{
int n, sum, ret;
ret = 0;
printf("输入n:");
scanf("%d", &n);
sum = f(n); //求阶乘
while (sum) {
if (sum%2 == 0)
ret ++;
sum /= 2;
}
printf("二进制最低位1位于第%d位!\n", ret+1);
return 0;
}
编程之美->N!最低位1的位置
最新推荐文章于 2023-10-29 22:20:45 发布