2的n次幂等于100*n,求n为多少?
首先n应该是double型吧,然后呢??……还有vc里面有没有求以2为底的对数的函数?
比如 以2为底n的对数=100*n;该怎么实现?

解决方案 »

  1.   

    用最粗鲁的办法可以搞定。(在VC6.0下编译执行)#include "stdio.h"
    #define MAX 100000000000
    void main()
    {
    int result;
    result = 2;
    for(int n = 100000000; n < MAX; n++)
    {
    result = result*2;
    if(result == 100 * n)
    break;
    }
    printf("%d \n",n);
    }
    结果是:1073741824
      

  2.   

    sorry。
    这样子是错误的。
      

  3.   

    2**n=100*n取对数就是nlog2=2+logn(10为底)
    n=(2+logn)/log2
    这个方程用基本的二分法叠代就可以实现的,你预先定义临界点(1,100),n可以定义成double型的。