思路:

即用数组a,数组中的每个元素存储4位数,,

比如,计算9的阶乘,在计算到7的阶乘时,7!为5040,可以用a[0]存储5040,没有产生进位,然后8!=5040*8=40320,如果看成万进制则产生了进位,那么a[0]=320(注意输出时不足4位的要在前边补0),a[1]=4(最高位不用补0),9!=40320*9,那么a[0]*9=320*9=2880,a[1]*9=4*9=36,那么9!=a[1]+a[0]=362880(注意这里的+相当于字符串连接,)

以下AC代码:

#include<stdio.h>
int a[10005];
int main()
{int n;while(scanf("%d",&n)!=EOF){int index,temp,i,j;a[0]=1;index=0;   ///阶乘结果总长度for(i=1;i<=n;i++){temp=0;             ///进位for(j=0;j<=index;j++){                          ///a[j]=a[j]*i+temp;temp=a[j]/10000;a[j]%=10000;}if(temp>0){             ///如果产生进位,直接跳到下一个a[i],a[++index]=temp;}}printf("%d",a[index]);for(i=index-1;i>=0;i--){                               ///不满4位的前边补0if(a[i]>=1000)printf("%d",a[i]);else if(a[i]>=100)printf("0%d",a[i]);else if(a[i]>=10)printf("00%d",a[i]);elseprintf("000%d",a[i]);}printf("\n");}return 0;
}

1000的阶乘-HDU 1042-大数阶乘(万进制思想)相关推荐

  1. HDU1042 n!【大数+万进制】

    N! Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total Subm ...

  2. 大数系列三——斐波那契数列——高效万进制,亿进制

    浅谈万进制思想: 日常生活中我们习惯用十进制去运算: 为了方便电脑识别开发出了二进制,又因为2^3=8 , 2^4=16,因此应运而生了八进制与16进制. 世上本没有路,走的人多了,也便成了路,那么既 ...

  3. 万进制——蓝桥杯|ACM 大数阶乘——21行代码AC

    浅谈进制思想: 日常生活中我们习惯用十进制去运算: 为了方便电脑识别开发出了二进制,又因为2^3=8 , 2^4=16,因此应运而生了八进制与16进制. 世上本没有路,走的人多了,也便成了路,那么既然 ...

  4. 浅谈万进制算法与大数定理的结合(高精度乘除法,阶乘)

    我们经常用的进制就是2进制.8进制.10进制和16进制.何来"万进制"?世上本无,有人喊了也就有了.呵呵 现在来谈谈自己对进制的一点不成熟的想法.计算机能"识别" ...

  5. 高效万进制——蓝桥杯|HDOJ 1002 大数加法——30行代码AC

    浅谈进制思想: 日常生活中我们习惯用十进制去运算: 为了方便电脑识别开发出了二进制,又因为2^3=8 , 2^4=16,因此应运而生了八进制与16进制. 世上本没有路,走的人多了,也便成了路,那么既然 ...

  6. UVA495 Fibonacci Freeze【大数+万进制】

    The Fibonacci numbers (0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ...) are defined by the recurrence: F0 = ...

  7. 【C语言数据结构与算法的应用4】巨大数----加减乘运算(万进制和Mec补码的应用)

    巨大数 什么是巨大数 目的 巨大数的加法 巨大数的存储 万进制 微易码补码 巨大数的减法 巨大数的乘法 总结 什么是巨大数 巨大数其实就是有效数字位很大,可表示数的大小超过了int 的表示范围:[-2 ...

  8. 【HDU 5765】Bonds(进制运算妙用)

    [HDU 5765]Bonds(进制运算妙用) Bonds Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/65536 K ...

  9. 阶乘计算之大数阶乘与快速取模阶乘计算

    大数阶乘的常规运算 即数学的模拟运算.一位一位的乘,有进位就进位. #include <bits/stdc++.h> #define _xx ios_base::sync_with_std ...

最新文章

  1. 周鸿祎:quot;安全大脑quot;将成智能经济时代的网络安全中枢
  2. Reroute Unassigned Shards——遇到主shard 出现的解决方法就是重新路由
  3. 10. Leetcode 209. 长度最小的子数组 (数组-同向双指针-滑动窗口)
  4. maven给默认中央仓库设置镜像为阿里云maven仓库并添加全局远程仓库
  5. body onload 控制窗口大小 html,HTML5 对各个标签的定义与规定:body的介绍
  6. 前端-给定一个字符串str,如何实现每个单词首字母都大写,其余部分小写。
  7. 【LeetCode笔记】2. 两数相加(JAVA、链表)
  8. 崛起于Springboot2.X之redis集群搭建(17)
  9. NUC1421 时间日期格式转换【日期计算】
  10. JavaScript DOM 编程艺术(第2版)读书笔记 (7)
  11. c语言0x00如何不截断_数组越界及其避免方法,C语言数组越界详解
  12. 电脑办公 等 无锡计算机培训,无锡锡山区电脑培训计算机培训office办公软件培训...
  13. 无心剑中译奥登《用情更深者》
  14. 关于MAPGIS文件转CAD文件的问题处理
  15. 阿里巴巴社招Java面试题做题记录
  16. 基因数据处理54之bwa-mem运行paird-end(1千万条100bp的reads)
  17. A16z、YGG、Axie 圆桌对话:Web3 游戏接下来该怎么走?
  18. linux怎么下载安装软件
  19. 学会这招,远离年金险99%的坑
  20. 基于51单片机的倒计时温度检测报警器

热门文章

  1. 如何利用SOLIDWORKS制作螺丝
  2. 从零学习flutter(八):Flutter百星开源项目大集合
  3. 云从科技与中国工商银行达成战略合作 共建金融科技创新平台
  4. Handle-handle 的用法
  5. 攻防世界 适合作为桌面
  6. windows无法启动 windows defender Firewall 服务 解决方案
  7. Excel excel提取不重复值
  8. 基于微信小程序的企业职工薪资查询系统小程序
  9. Unity3d制作动画顺便加载按钮控制
  10. 黑客视频教程:netstat命令的使用