T^T问题求位数(对数求位数)

今日水题

描述

T^T这个很像一个流泪的表情是不是!其实,它是T的T次方啦~。
当T比较大的时候T^T会非常大,现在只要你求这个数一共有多少位就可以了。

输入

包括多组数据,每组数据为一个整数(0<T<2^31)

思路

刚开始看这道题本来想用python,毕竟python的数据类型转换起来
比较方便,用快速幂求出该数,并转换为字符串类型,在输出字符串
长度即可(噼里啪啦),but仔细一想其实这是一道高中的数学题,
取该数的log10的值加一。有高中知识可得log10(N^N)=N*log10(N)。

代码:

#include<stdio.h>
#include<math.h>  //由于调用log函数,所以需要调用math头文件。
int main()
{
	double n;
	while(scanf("%lf",&n)!=EOF)
	{
		double ans;
		ans = n * log10(n);
		printf("%ld\n",(long int)ans+1);
	}
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_43064070/article/details/84534877