HDU 1042 N! 题意:给定整数N(0 ≤ N ≤ 10000), 求 N! (题目链接

#include <iostream>
using namespace std; //每一个数组元素存放5位数
const int MAX=100000; //%MAX后结果为[0,99999]
const int N=10001; //7132+1
int a[N]={0}; void prtBig(int n)
{
for(int i=0; i<n;i++)
{
if(i==0) //最高位忽略前导0
printf("%d",a[i]);
else //非最高位按5位输出
printf("%05d",a[i]);
} printf("\n");
} //以下的n为引用參数,即n为实參的别名
//如此对<span style="font-family: Arial, Helvetica, sans-serif;">形參</span>n的改变即是对实參的改变
void mul(int &n, int k)
{
int c=0;
//从最低位開始乘
for (int i=n-1; i>=0; i--)
{
int t=a[i]*k+c;
a[i]=t%MAX;
c=t/MAX;
} if (c>0)//最后的进位放在最前面
{
for(int j=n;j>0;j--) a[j]=a[j-1];//移位
a[0]=c; //进位放在最高位
n++; //n变化则实參也变
}
} bool run()
{
int n;
if(scanf("%d",&n)==EOF) return false; fill(a,a+N,0); //全部数组元素清0 a[0]=1; //0,1的阶乘为1
int m=1; //数组实际长度为1 for(int i=2;i<=n;i++) //从2開始乘
{
mul(m, i);
}
prtBig(m);
return true;
} int main()
{
while(run());
return 0;
}

HDU 1042 N! 參考代码的更多相关文章

  1. Java第二次作业參考代码

    Java第二次作业參考代码 [程序11] 题目:有1.2.3.4四个数字,能组成多少个互不同样且无反复数字的三位数?都是多少? public class lianxi11 { public stati ...

  2. [Java] 实验5參考代码

    实验4月3日晚截止,实验截止后将在此给出完整的參考代码. 1. 怎样使用以下的代码模板: 1.1 在eclipse中创建相应名称的类     1.2 将代码拷贝到类文件中 1.3 在//todo凝视中 ...

  3. [Java] 实验6參考代码

    1. 大家的.java程序都须要在一个"缺省包"(default package)下编写\执行\提交,不要去命名新的package     - 系统不支持package contr ...

  4. [Java] 实验4參考代码

    题目.提示.代码.解释都已公布. 提供这些的目的不是要求大家要写得像我写得这样,而是希望大家在实验后看看别人写的代码:     1. 提升理解代码的能力.     2. 不要自满于完毕题目.要明确你的 ...

  5. HDU 2136 Largest prime factor 參考代码

    #include <iostream> #include <vector> #include <cmath> using namespace std; const ...

  6. ANTLR4权威參考手冊(一)

    写在前面的话: 此文档是对伟大的Terence Parr的著作<the definitive antlr4 reference>的翻译本.致敬!欢迎转载,请注明原地址,请尊重劳动成果.翻译 ...

  7. 6. GC 调优(工具篇) - GC參考手冊

    进行GC性能调优时, 须要明白了解, 当前的GC行为对系统和用户有多大的影响. 有多种监控GC的工具和方法, 本章将逐一介绍经常使用的工具. 您应该已经阅读了前面的章节: 垃圾收集简单介绍 - GC參 ...

  8. Unity开发规范(个人习惯,仅供參考)

    近期整理了一下unity里的文件夹使用和脚本上的一些规范,这个看个人习惯,仅供參考 1.unity中的Project文件夹      总体文件夹大致例如以下:            按资源种类分目录. ...

  9. 四旋翼飞行器Quadrotor飞控之 PID调节(參考APM程序)

    做四轴也有一段时间了.近期一直在做PID方面的工作. 如今四轴基本能够实现室内比較稳定的飞行,操控手感也能够接受.稍后上试飞视频.在此把一些PID方面的经验总结总结和大家分享一下. 首先介绍一下大概的 ...

随机推荐

  1. [LeetCode101]Symmetric Tree

    题目: Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center). F ...

  2. OpenCV面、人眼检测

    /* 功能:实现对眼睛.脸部的跟踪. 版本号:1.0 时间:2014-4-27 */ #include <opencv2/objdetect/objdetect.hpp> #include ...

  3. js防堵塞载入

    js防堵塞载入 <script type="text/javascript"> function scriptDomElement (u) { var s = docu ...

  4. 算法---高速分拣(quick sort)

    在前面的排序中所描述的算法.最快的排序算法是归并排序,但是有一个缺陷合并排序排序过程的需求O(N)额外的空间.本文介绍了高速的排序算法到位排序算法,所需的复杂性的额外空间O(1). 算法介绍:高速排序 ...

  5. 【程序员小助手】Emacs,最强编辑器,没有之一

    内容简介 1.Emacs简介 2.Emacs三个平台的安装与配置 3.自动补全插件 4.小编的Emacs配置文件 5.常用快捷方式 6.和版本控制系统的配合(以SVN为例) [程序员小助手]系列 在这 ...

  6. Codeforces 451E Devu and Flowers(容斥原理)

    题目链接:Codeforces 451E Devu and Flowers 题目大意:有n个花坛.要选s支花,每一个花坛有f[i]支花.同一个花坛的花颜色同样,不同花坛的花颜色不同,问说能够有多少种组 ...

  7. asp.net弹出层实例

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.c ...

  8. Linux tcpdump命令具体解释

    简单介绍 用简单的话来定义tcpdump,就是:dump the traffic on a network,依据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump能够将网络中传送的数据 ...

  9. StackExchange.Redis Client

    StackExchange.Redis Client 这期我们来看StackExchange.Redis,这是redis 的.net客户端之一.Redis是一个开源的内存数据存储,可以用来做数据库,缓 ...

  10. Linux网络基础设施配置

    1.TCP/IP网络配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network /etc/host.conf /etc/ ...