九度OJ 1076:N的阶乘 (数字特性、大数运算)
时间限制:3 秒
内存限制:128 兆
特殊判题:否
提交:6384
解决:2238
- 题目描述:
-
输入一个正整数N,输出N的阶乘。
- 输入:
-
正整数N(0<=N<=1000)
- 输出:
-
输入可能包括多组数据,对于每一组输入数据,输出N的阶乘
- 样例输入:
-
4
5
15
- 样例输出:
-
24
120
1307674368000
思路:
数很大,long long都表示不了,实际考察的是大整数乘法。
我写的代码可以实现,但应该有比较大的优化余地。
代码:
#include <stdio.h>
int main(void)
{
int n;
int a[3001];
int i, j;
while (scanf("%d", &n) != EOF)
{
for (j=0; j<3001; j++)
a[j] = 0;
a[0] = 1;
for (i=1; i<=n; i++)
{
for (j=0; j<3*i; j++)
a[j] *= i;
for (j=0; j<3*i; j++)
{
if (a[j] >= 10)
{
a[j+1] += a[j]/10;
a[j] %= 10;
}
}
}
for (i=3*n; i>=0; i--)
{
if (a[i] != 0)
break;
}
//printf("%d\n\n", i);
for (j=i; j>=0; j--)
printf("%d", a[j]);
printf("\n");
}
return 0;
}
/**************************************************************
Problem: 1076
User: liangrx06
Language: C
Result: Accepted
Time:2390 ms
Memory:912 kb
****************************************************************/
九度OJ 1076:N的阶乘 (数字特性、大数运算)的更多相关文章
- 九度OJ 1076 N的阶乘 -- 大数运算
题目地址:http://ac.jobdu.com/problem.php?pid=1076 题目描述: 输入一个正整数N,输出N的阶乘. 输入: 正整数N(0<=N<=1000) 输出: ...
- 九度OJ 1190:大整数排序 (大数运算、排序)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:3219 解决:1467 题目描述: 对N个长度最长可达到1000的数进行排序. 输入: 输入第一行为一个整数N,(1<=N<=1 ...
- 九度OJ,题目1089:数字反转
题目描述: 12翻一下是21,34翻一下是43,12+34是46,46翻一下是64,现在又任意两个正整数,问他们两个数反转的和是否等于两个数的和的反转. 输入: 第一行一个正整数表示测试数据的个数n. ...
- 九度OJ 1067 n的阶乘 (模拟)
题目1067:n的阶乘 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:5666 解决:2141 题目描写叙述: 输入一个整数n,输出n的阶乘 输入: 一个整数n(1<=n<=2 ...
- 九度oj 题目1179:阶乘
题目描述: 输入n, 求y1=1!+3!+...m!(m是小于等于n的最大奇数)y2=2!+4!+...p!(p是小于等于n的最大偶数). 输入: 每组输入包括1个整数:n 输出: 可能有多组测试数据 ...
- 【九度OJ】题目1076:N的阶乘 解题报告
[九度OJ]题目1076:N的阶乘 解题报告 标签(空格分隔): 九度OJ 原题地址:http://ac.jobdu.com/problem.php?pid=1076 题目描述: 输入一个正整数N,输 ...
- 【九度OJ】题目1179:阶乘 解题报告
[九度OJ]题目1179:阶乘 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1179 题目描述: 输入n, 求y1=1!+3!+-m ...
- 九度OJ 1371 最小的K个数 -- 堆排序
题目地址:http://ac.jobdu.com/problem.php?pid=1371 题目描述: 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4 ...
- 九度OJ 题目1384:二维数组中的查找
/********************************* * 日期:2013-10-11 * 作者:SJF0115 * 题号: 九度OJ 题目1384:二维数组中的查找 * 来源:http ...
随机推荐
- Java多线程之Thread、Runnable、Callable及线程池
一.多线程 线程是指进程中的一个执行流程,一个进程中可以有多个线程.如java.exe进程中可以运行很多线程.进程是运行中的程序,是内存等资源的集合,线程是属于某个进程的,进程中的多个线程共享进程中的 ...
- EOJ Monthly 2018.7
准备继续大学acm啦 又要开始愉快的码码码啦 第一次在华东师大OJ上面做题 看来EOJ上的积分体质是假的,我怎么一把上红??? A.数三角形 神tm的防AK题放在A,出题人很不友好啊... 先写了个暴 ...
- asp.net站点从2003服务器迁移到2008服务器出现定义了重复的“system.web.extensions/scripting/scriptResourceHandler”节的问题解决
解决方法: 1.从4.0降到2.0. 2.直接删除整个节点,如下:
- Delphi Integer 转成单字节
整形不能超过256 b:=Byte(StrToInt(n)); var s: string; b: Byte; begin s := Edit1.Text; b := Byte(Str ...
- 关于<textarea>的内容中换行的表示方法
<textarea>sdfsdfsffsd fer</textarea>
- 在容器内执行go编译程序的坑
如果你编译了一个go程序,让后把它放到容器里面.很多时候这个程序都会无法执行,大概的样子是: /tmp # ls pub sub /tmp # ./pub /bin/ash: pub: not fou ...
- 2016.7.14 去掉Mybatis Generator生成的一堆 example
参考资料: http://www.cnblogs.com/zerocold/p/4220955.html mybatis generator自动生成的代码里老是有一堆example,需要改的时候, ...
- [转载]使用RoboCopy 命令
经常进行文件管理操作的朋友们,不满意于Windows系统内置的复制功能,因为它太龟速了.于是大家就使用FastCopy.TeraCopy之类的软件来加速复制,但是你是否知道Windows 7已经内置快 ...
- require.js 使用
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- ZOJ - 3890 Wumpus(BFS基础题)
Wumpus Time Limit: 2 Seconds Memory Limit: 65536 KB One day Leon finds a very classic game call ...