函数名: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