求N的N次的最高位

来源:互联网 发布:sql增删改查语句 编辑:程序博客网 时间:2024/06/10 02:25

函数名:modf
头文件:<math.h>
函数原型:double modf(double x, double *ipart)
函数用途:分解x,以得到x的整数和小数部分
输入参数:x 待分解的数
输出参数:ipath  x 的整数部分
返回值:x 的小数部分
例如:fractpart=modf(12.2,&ipart),得到fractpart=12,ipart=0

思路:N^N=10^log10(N^N)=10^Nlog10(N)=10^(Nlog10(N)的整数部分+Nlog10(N)的小数部分),求出10^(Nlog10(N)的整数部分)与结果无关,10^(Nlog10(N)的小数部分)的整数部分就是最高位。

例题:http://acm.cs.ecnu.edu.cn/problem.php?problemid=1074

参考文章:http://www.cnblogs.com/dmesg/archive/2009/08/02/1536997.html

 

 

原创粉丝点击