A.log2(n)

60 阅读1分钟

 

A (1200) : log2(N)
            Time Limit: 1 Sec     Memory Limit: 128 Mb     Submitted: 58     Solved: 48    
Description
给你一个数N,请你找出最大的的整数k,满足 2^k ≤ N

Input
1 ≤ N ≤ 1018

Output
输出k并换行

Sample Input
6
Sample Output
2
Hint
注意精度问题

本题主要需要学生的数学能力

值得注意的是log2(n)在语言中运用了换底公式来表示即log(n)/log(2)

#include<stdio.h>
#include<math.h>
int main()
{
    double n;
    scanf("%lf",&n);
    printf("%.0lf\n",floor(log(n)/log(2)));

    return 0;
}