题目1076:N的阶乘
来源:互联网 发布:张龙java培训视频 编辑:程序博客网 时间:2024/05/17 18:47
- 题目描述:
输入一个正整数N,输出N的阶乘。
- 输入:
正整数N(0<=N<=1000)
- 输出:
输入可能包括多组数据,对于每一组输入数据,输出N的阶乘
- 样例输入:
4515
- 样例输出:
241201307674368000
- 来源:
2006年清华大学计算机研究生机试真题
#include <iostream>#include <string.h>#include <stdio.h>//不超时的代码using namespace std; int main(){ int N; int num[3001]; while(cin >>N) { int i,j,k; memset(num,0,sizeof(num)); num[0] = 1; int length = 1; if(N == 0) { cout << 1 <<endl; continue; } for(i = 1; i<=N ; i++) { int over = 0; for(j = 0; j < length; j++) { num[j] = num[j] * i + over; if(num[j] >= 10) { over = num[j] / 10; num[j] = num[j] % 10; } else over = 0; } while(over != 0) { int temp = over % 10; num[length ++] = temp; over = over / 10; } } for(i = 3000;i >=0 ; i--) if(num[i] != 0) break; for(j = i ; j >= 0 ; j--) cout<<num[j]; cout << endl; } return 0;}/************************************************************** Problem: 1076 User: Carvin Language: C++ Result: Accepted Time:1320 ms Memory:1520 kb****************************************************************/
0 0
- 题目1076:N的阶乘
- 题目1076:N的阶乘
- 题目1076:N的阶乘
- 题目1076:N的阶乘
- 题目1076:N的阶乘
- 题目1076:N的阶乘
- 题目1076:N的阶乘
- 题目1076:N的阶乘
- 61-题目1076:N的阶乘
- 九度题目1076:N的阶乘
- 题目61:N的阶乘
- 题目61:N的阶乘
- 题目1067:n的阶乘
- 题目1067:n的阶乘
- 题目1067:n的阶乘
- 九度oj 题目1076:N的阶乘
- 九度OJ 题目1076:N的阶乘
- 九度 oj 题目1076:N的阶乘
- Android--Intent、Uri常用(拨号,…
- 解锁,闹钟,非常重要的东西
- WebView属性详解
- 使用Broadcast控制播放器,新方法…
- C# DES加密
- 题目1076:N的阶乘
- Linux多线程——使用互斥量同步线程
- Android批量插入数据到SQLite数据…
- android 自定义照相机Camera…
- 关于黑屏时启动Activity的一些方法
- 【Unity3d】关于AssetBundle.CreateFromFile()方法加载资源失败解决方法
- android AsyncTask的参数理…
- Android 特殊字符转义
- C语言模块操作容器设计