69 数的长度

2024-06-05 06:38
文章标签 69 长度

本文主要是介绍69 数的长度,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


数的长度

时间限制: 3000 ms  |  内存限制: 65535 KB
难度: 1
描述

    N!阶乘是一个非常大的数,大家都知道计算公式是N!=N*(N-1)······*2*1.现在你的任务是计算出N!的位数有多少(十进制)?

输入
首行输入n,表示有多少组测试数据(n<10)
随后n行每行输入一组测试数据 N( 0 < N < 1000000 )
输出
对于每个数N,输出N!的(十进制)位数。
样例输入
3
1
3
32000
样例输出
1
1
130271

//方法1:log10(N!)=log10(1)+log10(2)+...+log10(N)
#include<iostream>
#include<cmath>
using namespace std;int main()
{int n,m,i;double sum;cin>>n;while(n--){cin>>m;sum=0;for(i=1;i<=m;i++)sum+=log10(i);cout<<(int)sum+1<<endl;}
}

//方法2:利用斯特林(Stirling)公式的进行求解
#include<iostream>
#include<cmath>
using namespace std;int main()
{int n,m,i;double sum;cin>>n;while(n--){cin>>m;if(m==1)cout<<1<<endl;elsecout<<(long)((log10(sqrt(4.0*acos(0.0)*m))+m*(log10(m)-log10(exp(1.0))))+1)<<endl;}
}


这篇关于69 数的长度的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1032340

相关文章

随想录 Day 69 并查集 107. 寻找存在的路径

随想录 Day 69 并查集 107. 寻找存在的路径 理论基础 int n = 1005; // n根据题目中节点数量而定,一般比节点数量大一点就好vector<int> father = vector<int> (n, 0); // C++里的一种数组结构// 并查集初始化void init() {for (int i = 0; i < n; ++i) {father[i] = i;}

C语言函数参数--数组长度

int read_column_numbers(int columns[], int max){} 在函数声明的数组参数中,并未指定数组的长度。这种格式是OK的,因为无论调用函数的程序传递给它的数组参数的长度是多少,这个函数都将照收不误。 这是一个伟大的特性,它允许单个函数操纵任意长度的一维数组。 这个特性不利的一面是函数没法知道该数组的长度。如果确实需要数组的长度,它的值必须作为一个单独的

CSS 超出长度省略

更多内容: http://blog.yuhai.win 参考地址:1、https://segmentfault.com/a/11900000062379772、http://www.css88.com/archives/52063、https://github.com/josephschmitt/Clamp.js案例代码:1、https://github.com/yuhaizr/htmlexam

使用stat、fstat和lseek获取文件长度

使用stat、fstat和lseek获取文件长度 在Linux系统中,有多种方法可以获取文件的长度。本文将介绍三种常用的方法:使用stat、fstat和lseek函数。 1. 使用stat函数 stat函数用于获取文件的状态信息。它的原型如下: int stat(const char *pathname, struct stat *statbuf); 参数说明: pathname:要

ios中得到中英文混合字符串长度

//得到中英文混合字符串长度 方法1(按照英文字符个数统计)- (int)convertToInt:(NSString*)strtemp{int strlength = 0;char* p = (char*)[strtemp cStringUsingEncoding:NSUnicodeStringEncoding];for (int i=0 ; i<[strtemp lengthOfBytes

python从入门到精通12:字符串长度

在Python中,字符串是一个不可变的字符序列,这意味着一旦创建了一个字符串,你就不能修改它的内容。但是,你可以很容易地获取字符串的长度,即它包含的字符数量。 获取字符串长度 在Python中,你可以使用内置的len()函数来获取字符串的长度。这个函数接受一个对象作为参数,并返回该对象的长度(对于字符串,就是字符的数量)。 示例: s = "Hello, World!"length =

5.3 Python len()函数:获取字符串长度或字节数

Python len()函数详解:获取字符串长度或字节数 Python 中,要想知道一个字符串有多少个字符(获得字符串长度),或者一个字符串占用多少个字节,可以使用 len 函数。 len 函数的基本语法格式为: len(string) 其中 string 用于指定要进行长度统计的字符串。 例如,定义一个字符串,内容为“http://c.biancheng.net”,然后用 len()

「动态规划」如何求最长湍流子数组的长度?

78. 最长湍流子数组https://leetcode.cn/problems/longest-turbulent-subarray/description/ 给定一个整数数组arr,返回arr的最长湍流子数组的长度。如果比较符号在子数组中的每个相邻元素对之间翻转,则该子数组是湍流子数组。更正式地来说,当arr的子数组A[i], A[i+1], ..., A[j]满足下列条件时,我们称其为湍流子

socket输入流中读取一个固定长度的字节

前段时间项目中用到socket编程,我用socket输入流读取一个固定长度的字节经常会遇到各种各样的错误:后面读取内容的错位,或者直接后面的内容读取不到等问题。 具体我用的方法是 socektInputStream.read(byte[] array1);   最后通过以下代码读取固定长度的字节 public static byte[] readFixedLengthArray(Bu

最小包含子串的长度

//最小包含子串的长度public class MinSubStringLen{ //给定字符串str1和str2,求str1的子串中含有str2所有字符的最小子串长度)public static int GetMinLen(String str1,String str2){if(str1==null||str2==null||str1.length()<str2.length