您的位置:首页 > 编程语言

编程之美->N!最低位1的位置

2013-09-17 10:08 134 查看
/*
求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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: