计算一个大数n的阶乘的位数宽度(十进制)(log i累加法 )
2024-09-02 17:19:21
输入:
每行输入1个正整数n, (0<n<1000 000)
输出:
对于每个n,输出n!的(十进制)位数。
分析:
这道题采用蛮力法。根据定义,直接求解!
所谓n!的十进制位数,就是 log(n)+1, 根据数学公式有:n!=1*2*3*.....*n;
lg(n!)=lg(2)+......lg(n);
代码:
//输入一个数字n,请你计算该数的阶乘的十进制数的位数宽度
//比如:3!=6, 则宽度为1
//样例数据:
//n=3 输出1
//n=32000 输出130271
//n=1000000 输出5565709 #include <string>
#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <cmath> using namespace std; int main()
{
long int n;
long int i;
double sum; while(scanf("%ld", &n)!=EOF)
{
sum=0.0;
for(i=2; i<=n; i++)
{
sum+=log10(i);
}
printf("%ld\n", (int)sum+1 );
}
return 0;
}
最新文章
- angular开发单页面应用--页面资源部分
- ie,火狐,谷歌 select清除默认样式 设置新的样式
- ab.exe使用
- ARM学习篇 中断定时理解
- 在SQLite Expert上用日期类型字段作为条件查询时注意日期的格式化
- 中国电信大亚DP607光猫破解,设置路由,wifi!关闭远程管理,改连接限制,SN码查询!
- php的socket通信(二)
- UVa 120 (构造) Stacks of Flapjacks
- Border - SGU 133(排序)
- 改写String类别
- 【PHP】最详细PHP从入门到精通(四)——PHP中的字符串
- position:absolute 的深入探讨
- java.lang.NoClassDefFoundError: org/apache/commons/collections/FastHashMap-----commons-ctions版本问题
- CF1060E Sergey and Subways 假的点分治
- [hbase] HBase内置过滤器的一些总结
- 云计算设计模式(二十一)——Sharding分片模式
- 解决方案:CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework64\v4.0.30319\--”--“拒绝访问。 ”
- springMvc的执行流程(源码分析)
- 我们常说的CDN到底是什么?
- Java 语言结构【转】
热门文章
- cf660E Different Subsets For All Tuples
- spring security 登录、权限管理配置
- 16.1112 模拟考试 T1
- msp430项目编程37
- GIL锁、死锁、递归锁、定时器
- vSphere 6.5 新功能 (7) - 支持 512e 硬盘
- BUPT复试专题—中序遍历序列(2013)
- Json——使用Json jar包实现Json字符串与Java对象或集合之间的互相转换
- to_char(sysdate,&#39;D&#39;)的用法
- 笨鸟不乖 是这么设计Android项目架构的