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 } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |