hdu 1042 N! 高精度运算
来源:互联网 发布:python框架有哪些 编辑:程序博客网 时间:2024/05/16 11:12
N!
Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Problem Description
Given an integer N(0 ≤ N ≤ 10000), your task is to calculate N!
Input
One N in one line, process to the end of file.
Output
For each N, output N! in one line.
Sample Input
123
Sample Output
126
题目分析:用数组模拟乘法。让a[0]保存结果的各位,a[1]是十位,a[2]是百位……(为什么要逆序表示呢?因为如果按照从高到低的顺序储存,一旦进位的话就……),则每次只需要模拟手算即可完成n!。在输出时需要忽略前导0.注意,如果结果本身就是0,那么忽略前导0后将什么都不输出。所幸n!肯定不等于0,因此本题可以忽略这个细节。
#include<stdio.h>#include<string.h>const int maxn=40000; /*数组不能太小,小了存不下*/int a[maxn];int main(){ int i,j,n; while(~scanf("%d",&n)) { memset(a,0,sizeof(a)); a[0]=1; for(i=2;i<=n;i++) { int c=0; /*保存进位*/ for(j=0;j<maxn;j++) { int s=a[j]*i+c; a[j]=s%10; c=s/10; } } for(j=maxn-1;j>=0;j--) /*去掉前导零*/ if(a[j]) break; for(i=j;i>=0;i--) printf("%d",a[i]); printf("\n"); } return 0;}
- hdu 1042 N! 高精度运算
- 高精度-HDU-1042-N!
- Hdu 1042 N! (高精度数)
- HDU 1042 N!(高精度)
- hdu 1042 N! 高精度乘法
- HDU 1042 N! (模拟 高精度)
- hdu - 1042 - N!(高精度计算)
- hdu 1042 N!(高精度乘法 + 缩进)
- HDU 1042 N!(高精度计算阶乘)
- 【HDU 1042】N! —— 高精度整数
- HDU 1042 N! 阶乘 高精度(java)
- HDU 1042 N!(高精度计算阶乘)
- HDU 1042 大数据、高精度,求n的阶乘
- hdoj 1042 N!(高精度)
- HDU 1002 (高精度加法运算)
- HDU-1042 高精度乘法
- HDU-1042 高精度
- 高精度N!
- 打开网页时的logo(页面选项卡上的icon)
- iOS中使用RegexKitLite来试用正则表达式 使用ARC 20个错误解决办法
- Uninstall iLivid Download Manager with WindowsUninstaller.Org Removal Tips
- iOS应用崩溃日志分析
- 去掉图片转换后的黑色背景
- hdu 1042 N! 高精度运算
- 2013-7-18学习作业[有常考面试题]
- getopt简介
- CSDN的网站注册和用户管理最TMD垃圾
- bmp位图数据宽度为什么是4的倍数字节(转)
- 34个高质量的扁平化设计资源
- java高新技术
- 自定义UITableView的Section的title的样式
- 快速排序-以高位为标志