HDU 1042 N! 參考代码
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! 參考代码的更多相关文章
- Java第二次作业參考代码
		
Java第二次作业參考代码 [程序11] 题目:有1.2.3.4四个数字,能组成多少个互不同样且无反复数字的三位数?都是多少? public class lianxi11 { public stati ...
 - [Java] 实验5參考代码
		
实验4月3日晚截止,实验截止后将在此给出完整的參考代码. 1. 怎样使用以下的代码模板: 1.1 在eclipse中创建相应名称的类 1.2 将代码拷贝到类文件中 1.3 在//todo凝视中 ...
 - [Java] 实验6參考代码
		
1. 大家的.java程序都须要在一个"缺省包"(default package)下编写\执行\提交,不要去命名新的package - 系统不支持package contr ...
 - [Java] 实验4參考代码
		
题目.提示.代码.解释都已公布. 提供这些的目的不是要求大家要写得像我写得这样,而是希望大家在实验后看看别人写的代码: 1. 提升理解代码的能力. 2. 不要自满于完毕题目.要明确你的 ...
 - HDU 2136 Largest prime factor 參考代码
		
#include <iostream> #include <vector> #include <cmath> using namespace std; const ...
 - ANTLR4权威參考手冊(一)
		
写在前面的话: 此文档是对伟大的Terence Parr的著作<the definitive antlr4 reference>的翻译本.致敬!欢迎转载,请注明原地址,请尊重劳动成果.翻译 ...
 - 6. GC 调优(工具篇) - GC參考手冊
		
进行GC性能调优时, 须要明白了解, 当前的GC行为对系统和用户有多大的影响. 有多种监控GC的工具和方法, 本章将逐一介绍经常使用的工具. 您应该已经阅读了前面的章节: 垃圾收集简单介绍 - GC參 ...
 - Unity开发规范(个人习惯,仅供參考)
		
近期整理了一下unity里的文件夹使用和脚本上的一些规范,这个看个人习惯,仅供參考 1.unity中的Project文件夹 总体文件夹大致例如以下: 按资源种类分目录. ...
 - 四旋翼飞行器Quadrotor飞控之  PID调节(參考APM程序)
		
做四轴也有一段时间了.近期一直在做PID方面的工作. 如今四轴基本能够实现室内比較稳定的飞行,操控手感也能够接受.稍后上试飞视频.在此把一些PID方面的经验总结总结和大家分享一下. 首先介绍一下大概的 ...
 
随机推荐
- newinstance()和new有什么区别?(转)
			
在初始化一个类,生成一个实例的时候:newInstance() 和 new 有什么区别? 用newInstance与用new是区别的,区别在于创建对象的方式不一样,前者是使用类加载机制,那么为什么会有 ...
 - 直接选择排序----java实现
			
直接选择排序思路: 从待排序数据中选择第一个假定为最小的下标,然后他后面的与他循环比较,得到真的最小值下标,然后最小值前的那一区段依次后移,并把最小值赋值给第一个元素.第二次时,假定第二个为最小,然后 ...
 - retry policy is RetryUpToMaximumCountWithFixedSleep(maxRetries=10, sleepTime=1 SECONDS)
			
[root@qa bin]# hadoop fs -ls / Warning: $HADOOP_HOME is deprecated. 14/07/29 13:25:35 INFO ipc.Clien ...
 - Python日志输出格式和时间格式
			
formatter = logging.Formatter("%(asctime)s %(levelname)s %(message)s","%Y%b%d-%H:%M:% ...
 - UVA - 12001 UVa Panel Discussion
			
Description UVa Panel Discussion The UVa online judge team is arranging a panel discussion for the ...
 - 苹果WatchKit轻松入门
			
背景 前段时间苹果Apple推出 WatchKit,用于开发Apple Watch应用,同时也推出了 Xcode6.2 Beta(非稳定版,好期待稳定版)版本用于开发 Watch App.Apple ...
 - 解决IIS7中出现An error occurred on the server when processing the URL错误提示的方法
			
在IIS7上配置一个asp程序,出现了一个错如提示: An error occurred on the server when processing the URL. Please contact t ...
 - 试DG周围环境
			
试DG周围环境 周围环境 名称 主库 备库 主机名 bjsrv shsrv 软件版本号 RedHat Enterprise5.5.Oracle 11g 11.2.0.1 RedHat Enterpri ...
 - JS学习笔记-OO创建怀疑的对象
			
问了.工厂介绍,解决重码 前面已经提到,JS中创建对象的方法.不难发现,主要的创建方法中,创建一个对象还算简单,假设创建多个类似的对象的话就会产生大量反复的代码. 解决:工厂模式方法(加入一个专门创建 ...
 - MEF初体验之十二:Composition Batch
			
一个MEF容器实例是不可变的.如果catalog支持改变(像观察一个目录的改变)或是如果你的代码在运行时添加或移除部件,改变都可能发生.以前,你不得不作出改变并在组合容器上调用它的组合方法.在Prev ...