zoukankan      html  css  js  c++  java
  • HDU1060_计算n^n的最左边的数字

    题目大意: 计算n^n的最左边的那个数的大小。 解题思路: m = n ^ n,把m化成10的double次方。然后分解为整数部分跟小数部分,取小数部分计算。即pow(double(10), decimals), C++中pow函数如果第二个参数是double型的,那么第一个参数也是double型的,而且返回值也是double型的,注意下。还有化解的时候num * log10(num)这个时候int会溢出,所以强制类型转换的时候要用__int64 吐吐槽: 这道题目好久以前就做过了,可是还是忘记了,重新做了一遍,以此为训。 代码:
    #include
    #include
    using namespace std;
    int main(void)
    {
    	int n;
    	scanf("%d", &n);
    	while(n--)
    	{
    		int num;
    		scanf("%d", &num);
    		double b = (double)num * log10((double)num);
    		double decimals = b - (__int64)b;
    		printf("%d\n", (int)pow((double)10, decimals));
    	}
    	return 0;
    }
    
  • 相关阅读:
    IDEA下同时使用Git和svn
    IDEA进行activiti-archetype-unittest脚手架的安装
    正则表达式
    关于JS堆栈与拷贝
    按值传递--
    JS---变量、作用域和内存问题
    laod
    待解决
    闭包2
    闭包1
  • 原文地址:https://www.cnblogs.com/cchun/p/2520219.html
Copyright © 2011-2022 走看看