ZZULIOJ【1089】阶乘的最高位:(int类型)

1089: 阶乘的最高位

1089: 阶乘的最高位
时间限制: 1 Sec 内存限制: 128 MB

题目描述

输入一个正整数n。输出n!的最高位上的数字。
输入:输入一个正整数n(n不超过1000)。
输出:输出n!的最高位上的数字。
样例输入:1000
样例输出:4
提示:注意double类型溢出问题。
问题链接.

思路

很明显我无视了最重要的提示,
加上学艺不精想不到1000!这么大的数该怎么表示,
然后就想到了数组,简单来说就是把十进制的每一位都用一个数来表示(感觉相当麻烦)

仅供参考!!!

#include<stdio.h>
int main()
{int n,a[3000]={1},i,k,t,l=1,m;   //数组越大可以算的数也越大(默认为1,因为要算乘法) scanf("%d",&n);                   for(i=1;i<=n;i++)               //阶乘循环 i的数值代要乘的那个数,每次+1 {                                t=0;                      //t用来保存数(工具人) for(k=0;k<l;k++)          //数位循环 k的数值代表数位,l用来记录数组中最高位的位置 {m=a[k]*i;               //m为k数位乘积 例;当a[0]=6,i=4,则 m=24a[k]=(m+t)%10;          //将t与m相加,对10取余,得到k数位上的数,例中a[0]为个位,计算后个位数为4t=(m+t)/10;                //将t与m相加,因为是整型除以10可直接得到k+1位的数,例中m=24 时t=2if(t!=0&&k==l-1) l++;    //t!=0时有进位,k==l-1表示为最高位进位 此时l+1 }                         //若t!=0但k!=l-1则为非最高位进位,即此时为中间位计算,l不用+1 }printf("%d",a[l-1]);           //其实最高位在l-1的位置
}

本人第一次写博客,还请大家多多指正,感谢!

ZZULIOJ 1089:阶乘的最高位(C语言)相关推荐

  1. zzulioj 1089: 阶乘的最高位

    题目链接:ZZULIOJ 1089: 阶乘的最高位 时间限制: 1 Sec  内存限制: 128 MB 提交: 8968  解决: 1526 [提交] [状态] [讨论版] [命题人:admin] 题 ...

  2. ZZULIOJ:1089: 阶乘的最高位

    1089: 阶乘的最高位 时间限制: 1 Sec  内存限制: 128 MB [状态] [讨论版] [提交] [命题人:admin] 题目描述 输入一个正整数n.输出n!的最高位上的数字. 输入 输入 ...

  3. 1089: 阶乘的最高位 C语言

    1089: 阶乘的最高位 时间限制: 1 Sec 内存限制: 128 MB 提交: 24143 解决: 7357 [状态] [讨论版] [提交] [命题人:admin] 题目描述 输入一个正整数n.输 ...

  4. 1089: 阶乘的最高位 ZZULIOJ

    1089: 阶乘的最高位 题目描述 输入一个正整数n.输出n!的最高位上的数字. 输入 输入一个正整数n(n不超过1000). 输出 输出n!的最高位上的数字. 样例输入 Copy 1000 样例输出 ...

  5. 【ZZULIOJ】1089: 阶乘的最高位

    ZZULIOJ题解 1089: 阶乘的最高位 题目描述 输入一个正整数n.输出n!的最高位上的数字. 输入 输入一个正整数n(n不超过1000). 输出 输出n!的最高位上的数字. 样例输入 1000 ...

  6. 1089: 阶乘的最高位

    1089: 阶乘的最高位 Time Limit: 1 Sec   Memory Limit: 128 MB Submit: 4346   Solved: 3003 Submit Status Web ...

  7. c语言22阶乘太大,C语言计算大数阶乘的方法

    C语言计算大数阶乘的方法,整数,数组,阶乘,本文,格式 C语言计算大数阶乘的方法 易采站长站,站长之家为您整理了C语言计算大数阶乘的方法的相关内容. 本文实例为大家分享了C语言计算大数阶乘的具体代码, ...

  8. 1到n的阶乘之和公式c语言,n的阶乘(1到n的阶乘之和公式)

    给定一个数n,范围为0≤n≤100,请你编程精确的求出n的阶乘n!. 输入 输入. #include void main () { long double fac(int n); int n; lon ...

  9. OJ1089: 阶乘的最高位(C语言)

    题目描述 输入一个正整数n.输出n!的最高位上的数字. 输入 输入一个正整数n(n不超过1000). 输出 输出n!的最高位上的数字. 样例输入 Copy 1000 样例输出 Copy 4 #incl ...

最新文章

  1. 【邓侃】哈佛大学机器翻译开源项目 OpenNMT的工作原理
  2. mic系统装java开发软件_Windows下安装MicMac
  3. Swift 网络请求数据与解析
  4. properties 配置回车_Dell?H730P?Raid1?配置方法
  5. pandas项目中使用的一些代码总结
  6. 浏览器中js的变量取名
  7. win10打开计算机黑屏怎么办,win10系统开机就一直黑屏无法进入桌面的解决方法...
  8. axure原型图手机界面尺寸
  9. 世界上最早的手动计算机,世界上第一台电子计算机诞生于多少年,名字叫做什么...
  10. php 压缩gif 不动,PHP怎么进行GIF动图压缩
  11. 机器学习基础-统计学习-SLT
  12. rasa框架nlu源码解析
  13. 纽约大学计算机和信息科学专业,纽约大学与罗切斯特大学计算机科学专业比较...
  14. python代码示例大全 下载-python基础代码大全
  15. 计算机一级wpsoffice知识点,计算机一级考试WPSOffice考试大纲
  16. 竞业协议“下沉”,普通程序员逃不过的坑
  17. python简单命令_python常用命令有哪些
  18. [杂记]培训杂记(一)
  19. Linux系统基本操作及其应用
  20. 图书管理有没有必要使用进出库管理系统?

热门文章

  1. 基于DE2 115开发板驱动HC_SR04超声波测距模块【附源码】
  2. HTML5期末大作业:餐饮美食网页设计——美食网(7页) HTML+CSS+JavaScript
  3. RK3566-RK817通过TS管脚控制外部电源
  4. C++学习笔记(十)成员变量和成员函数分开存储、this指针、空指针访问成员函数、const修饰成员函数、友元
  5. 如何打开hprof文件
  6. 3D Instances as 1D Kernels
  7. mvn 跳过test编译或install
  8. 自考计算机英语答题技巧,自学考试英语二答题技巧
  9. torch.backends.cudnn.benchmark和torch.backends.cudnn.deterministic解读
  10. 教辅书如何“玩转”大数据