加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

HDU_1018_Big number

发布时间:2020-12-14 04:16:10 所属栏目:大数据 来源:网络整理
导读:PS:最开始这道题我想先求出n的阶乘后,再求出它是个几位数;在同学提醒过后发现可以通过log10(n)+1来直接求出n是个几位数,而log10(n*(n+1))=log10(n)+log10(n+1)。 而头文件#includemath.h中直接就包含了log的运算,所以这道题就简单了。 ? 题意

PS:最开始这道题我想先求出n的阶乘后,再求出它是个几位数;在同学提醒过后发现可以通过log10(n)+1来直接求出n是个几位数,而log10(n*(n+1))=log10(n)+log10(n+1)。

而头文件#include<math.h>中直接就包含了log的运算,所以这道题就简单了。

?

题意:先输入一个数n,代表输入的数据组数;接下来n行输入n个数,求出n的阶乘是个几位数。

例如

输入:2

  10

  20

输出:

  7

  19

 1 #include<stdio.h>
 2 #include<math.h>
 3 #include<iostream>
 4 using namespace std;
 5 
 6 int num;
 7 int ans;
 8 double s;
 9 double k;
10 
11 int main()
12 {
13     int n;
14     scanf("%d",&n);
15     while(n--)
16     {
17         s=0;
18         scanf("%d",&num);
19         for(int i=1;i<=num;i++)
20         {
21             k=i*1.0;
22             s=s+log10(k);
23         }
24         ans=(int)s+1;
25         printf("%dn",ans);
26     }
27     return 0;
28 }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读