hdoj1018

发布于:2021-10-23 09:23:35

数学问题,用对数求解


log(a*b)=log(a)+log(b)


math.h中提供函数:




指数与对数


double frexp(double value,int *exp);这是一个将value值拆分成小数部分f和(以2为底的)指数部分exp,并返回小数部分f,即f*2^exp。其中f取值在0.5~1.0范围或者0。


double ldexp(double x,int exp);这个函数刚好跟上面那个frexp函数功能相反,它的返回值是x*2^exp


double modf(double value,double *iptr);拆分value值,返回它的小数部分,iptr指向整数部分。


double log (double); 以e为底的对数


double log10 (double);以10为底的对数


double pow(double x,double y);计算以x为底数的y次幂


float powf(float x,float y); 功能与pow一致,只是输入与输出皆为浮点数


double exp (double);求取自然数e的幂


double sqrt (double);开*方


#include
#include
int main()
{
int n,a;
double sum;
scanf("%d",&n);
int i=n;
while(i>0)
{
scanf("%d",&a);
sum=0.0;
for(int j=1;j<=a;j++)
sum+=log10((double)j);
printf("%d
",(int)sum+1);
i--;
}
return 0;
}






相关推荐

最新更新

猜你喜欢