阶乘的精确值 大数问题

输入不超过1000的正整数n,输出n的阶乘的精确结果

样例输入:30

样例输出:265252859812191058636308480000000

分析:

为了保存结果,需要分析1000!有多大。用计算器算一算不难知道,1000!约等于4*10^2567,因此可以用一个3000个元素的数组f保存。为方便起见,让f【0】保存个位,f【1】保存十位等等,,,(方便向后进位);然后逆序除零输出即可

[cpp] view plaincopy
  1. <span style="font-size:24px;"><strong>#include<iostream>  
  2. #include<cstring>  
  3. using namespace std;  
  4.   
  5. const int maxn = 3000;  
  6. int f[maxn];  
  7.   
  8. int main()  
  9. {  
  10.     int i, j, n;  //n!  
  11.     cin>>n;  
  12.     memset(f, 0, sizeof(f));   //对f数组初始化  
  13.     f[0]=1;    //从1开始乘积  
  14.     for(i=2;i<=n;i++)  
  15.     {  
  16.        int c=0;  
  17.        for(j=0;j<maxn;j++)  
  18.        {  
  19.            int s = f[j]*i + c;  
  20.            f[j] = s % 10;  
  21.            c = s / 10;  
  22.        }  
  23.     }  
  24.     for(j=maxn-1;j>=0;j--)  
  25.        if(f[j])  
  26.           break;  
  27.     for(i=j;i>=0;i--)  
  28.        cout<<f[i];  
  29.     cout<<endl;  
  30.     system("pause");  
  31.     return 0;  
  32.              
  33. }  
  34. </strong></span>  


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/452123.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Diango博客--22.Django Haystack 全文检索与关键词高亮

文章目录1. Django Haystack 简介2. 安装 django-haystack和elasticsearch 23. 构建容器来运行 elasticsearch 服务4. 配置 Haystack5. 处理数据6. 配置 URL7. 修改搜索表单8. 创建搜索结果页面9. 高亮关键词10. 建立索引文件11. 修改搜索引擎为中文分词12. 防止标题被截断13. …

Vim和Vi的常用命令

Vim 文本编辑器 1、Vim 和 Vi: 两者都是多模式编辑器&#xff1b; Vim 是 Vi 升级版&#xff0c;再兼容 Vi 所有指令的同时增加了一些新功能支持&#xff1b; 特点&#xff1a; 语法加亮&#xff1a;使用不同的颜色加亮代码&#xff1b; 多级撤销&#xff1a;Vi 只能撤销一次操…

oracle中 sql语句:start with .. connect by prior.. 用法

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 我们经常会将一个比较复杂的目录树存储到一个表中。或者将一些部门存储到一个表中&#xff0c;而这些部门互相有隶属关系。这个时候你就…

多重继承和单重继承

多重继承&#xff08;Multiple Inheritance, MI&#xff09;指的是一个类别可以同时从多于一个父类继承行为与特征的功能。与单一继承相对&#xff0c;单一继承指一个类别只可以继承自一个父类。

3分钟学会SVN:SVN快速上手

选择SVN客户端 Windows平台 TortoiseSVN&#xff1a;也叫乌龟SVN&#xff0c;Windows上最流行的SVN客户端&#xff0c;安装后你的右键就会多了几个SVN相关的菜单&#xff0c;非常方便Eclipse插件&#xff1a;在Eclipse中集成SVN插件&#xff0c;适合使用Eclipse开发的用户&…

flask框架(三):flask配置文件

flask中的配置文件是一个flask.config.Config对象&#xff08;继承字典&#xff09;,默认配置为&#xff1a;{DEBUG: get_debug_flag(defaultFalse), 是否开启Debug模式TESTING: False, …

C语言可变参数全解

cstdarg(stdarg.h)可变参数的处理 这个头文件定义了一些宏&#xff0c;可以通过这些宏来逐个访问被调函数的没有名字的参数列表&#xff0c;这些参数的个数 和类型都是不知道的。 一个函数可以通过包含一个逗号和三个点(,...)接收可变数量的额外参数&#xff0c;而不需…

Diango博客--23.单元测试:测试 blog 应用

文章目录1. 前言2. 搭建测试环境3. 测试模型4. 测试视图5. 测试模板标签6. 测试辅助方法和类1. 前言 我们博客功能越来越来完善了&#xff0c;但这也带来了一个问题&#xff0c;我们不敢轻易地修改已有功能的代码了&#xff01; 我们怎么知道代码修改后带来了预期的效果&…

一般与特殊结构关系 整体与部分结构关系

一般与特殊结构关系又称为分类结构关系&#xff0c;是“is a”关系。 例如&#xff1a;飞机与交通工具都是类&#xff0c;飞机是一种特殊的交通工具。他们之间是“is a”关系。 上层类体现一般性和共性&#xff0c;下层类体现特殊性和具体性。 用这种结构关系来描述现实世界…

简单版:带干扰线的图形验证码生成

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1.生成工具类; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; im…

图片格式转换工具与方法

2019独角兽企业重金招聘Python工程师标准>>> 使用ffmpeg进行格式转换 1.jpg 转 I420 ffmpeg -i 001.jpg -pix_fmt yuv420p 001_I420_fromJPG.yuv 2.png 转 I420 ffmpeg -i 222.png -pix_fmt yuv420p 222_I420_fromPNG.yuv 3.bmp 转 I420 ffmpeg -i xxx.bmp -pix_fmt…

Diango博客--24.单元测试:测试评论应用

文章目录1. 前言2. 数据基类3.测试 Comment Model4. 测试视图函数5. 测试模板标签1. 前言 comments应用的测试和blog应用测试的套路是一样的。 先来建立测试文件的目录结构。首先在 comments 应用的目录下建立一个名为 tests 的 Python 包&#xff0c;然后删除 comments 应用…

面向对象设计使用语言选择

面向对象设计的结果既可以用面向对象语言、也可以用非面向对象语言实现。 使用面向对象语言时&#xff0c;由于语言本身充分支持面向对象概念的实现&#xff0c;因此&#xff0c;编译程序可以自动把面向对象概念映射到目标程序中。 使用非面向对象语言编写面向对象程序&#xf…

结合shiro 的图形验证码生成

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 在做用户登录功能时&#xff0c;很多时候都需要验证码支持&#xff0c;验证码的目的是为了防止机器人模拟真实用户登录而恶意访问&#…

利用C语言实现计算机图像处理的方法

1&#xff0e;图像平移 图像平移只是改变图像在屏幕上的位置&#xff0c;图像本身并不发生变化。假设原图像区域左上角坐标为(x0, y0)&#xff0c;右下角坐标为(x1, y1)&#xff0c;将图像分别沿x和y轴平移dx和dy&#xff0c;则新图像的左上角坐标为(x0 &#xff0b; dx, y0 &a…

E24- please install the following Perl modules before executing ./mysql_install_db

2019独角兽企业重金招聘Python工程师标准>>> [roott-cet7 scripts]# ./mysql_install_db --basedir/usr/local/mysql/ --datadir/app/data/ --usermysql FATAL ERROR: please install the following Perl modules before executing ./mysql_install_db: Data::Dumpe…

SpringMVC异常报406 (Not Acceptable)的解决办法

使用SpsringMVC&#xff0c;使用restEasy调试&#xff0c;controller请求设置如下&#xff1a; Java代码 RequestMapping(value"/list",methodRequestMethod.GET,producesMediaType.APPLICATION_JSON_VALUE) ResponseBody public List<EditTimeout> list()…

Diango博客--25.使用Coverage统计测试覆盖率

文章目录1. 前言2. 安装 Coverage3. 简单配置 Coverage4. 运行 Coverage5. 完善 Coverage 配置6. 生成 HTML 报告7. 完善单元测试1. 前言 我们完成了对 blog 应用和 comment 应用这两个核心 app 的测试。现在我们想知道的是究竟测试效果怎么样呢&#xff1f;测试充分吗&#x…

面向对象语言的优点

1.一致的表达方法 从前面章节的讲述中可以知道&#xff0c;面向对象开发基于不随时间变化的、一致的表示方法。这种表示方法应该从问题域到OOA&#xff0c;从OOA到OOD&#xff0c;最后从OOD到面向对象编程(OOP)&#xff0c;始终稳定不变。 一致的表示方法&#xff1a; 既有利…

最好的英文词典

辞典对于学外语的作用&#xff0c;怎么强调也不过分。经常接触英语的人都知道&#xff0c;遇到生词不可怕&#xff0c;可怕的是遇到认识的单词&#xff0c;又不明白这句话什么意思。这个时候&#xff0c;辞典的作用就发挥出来了。 今天一位朋友问我一句英文的意思&#xff0c;…