博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hdu 1018
阅读量:4114 次
发布时间:2019-05-25

本文共 386 字,大约阅读时间需要 1 分钟。

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
int main()
{
    int i,n,cas;
    double  f;
    cin>>cas;
    while(cas--)
    {
        f=0.0;
        cin>>n;
        for(i=2;i<=n;i++)
            f+=log10(i*1.0);
        int ans=f+1;
        cout<<ans<<endl;
    }
    return 0;

}

/******还是比较有意思的一道题目,比如123456=10^5+1.23456,取对数后为5+log10(1.23456)所以位数为取对数后的小数取整

再加1,不过算阶乘时要注意,当n很大时可能会溢出,所以还是得转换为对数,只需要进行n次加法和乘法就行了,

再次体会到了对数的神奇,记得加头文件cmath***/

转载地址:http://rdgsi.baihongyu.com/

你可能感兴趣的文章
Day_15JavaSE 异常
查看>>
异常 Java学习Day_15
查看>>
JavaSE_day_03 方法
查看>>
day-03JavaSE_循环
查看>>
Mysql初始化的命令
查看>>
day_21_0817_Mysql
查看>>
day-22 mysql_SQL 结构化查询语言
查看>>
MySQL关键字的些许问题
查看>>
浅谈HTML
查看>>
css基础
查看>>
HTML&CSS进阶
查看>>
Servlet进阶和JSP基础
查看>>
servlet中的cookie和session
查看>>
过滤器及JSP九大隐式对象
查看>>
软件(项目)的分层
查看>>
菜单树
查看>>
MySQL-分布式架构-MyCAT
查看>>
设计模式六大原则(6):开闭原则
查看>>
阿里面试总结--JAVA
查看>>
Servlet的生命周期
查看>>