[蓝桥杯2016决赛]阶乘位数

题目描述

9的阶乘等于:362880
它的二进制表示为:1011000100110000000
这个数字共有19位。
请你计算,9999 的阶乘的二进制表示一共有多少位?

输出

输出一个整数表示答案


#include
#include
#include
#include
using namespace std;

int main(){
    double sum=0.0;
    for(int i=1;i<=9999;i++){
        sum+=log2(i);
    }
    cout<<(int)(floor(sum))+1;
    return 0;
}

你可能感兴趣的:([蓝桥杯2016决赛]阶乘位数)