4-10 阶乘计算升级版 (20分)
2016-05-14 13:40
267 查看
本题要求实现一个打印非负整数阶乘的函数。
其中
input”。
函数接口定义:
void Print_Factorial ( const int N );
其中
N是用户传入的参数,其值不超过1000。如果
N是非负整数,则该函数必须在一行中打印出
N!的值,否则打印“Invalid
input”。
裁判测试程序样例:
#include <stdio.h>
void Print_Factorial ( const int N );
int main()
{
int N;
scanf("%d", &N);
Print_Factorial(N);
return 0;
}
/* 你的代码将被嵌在这里 */
输入样例:
15
输出样例:
1307674368000
void Print_Factorial ( const int N ){ long i,s=1; if(N>=0&&N<=12){ for(i=2 ;i<=N ;i++){ s *= i; } printf("%ld\n",s); } else if(N>12&&N<=1000){ int num[3000] = {0}; num[0] = 1; int k=1; //位数 int n=0; //进位 int temp; for(int i=2 ;i<=N ;i++){ for(int j=0;j<k;j++){ temp = num[j]*i+n; //每一位相乘 再+进位 num[j] = temp%10; //更新每一位的数字 n = temp/10; //判断能否进位 } while(n!=0){ //如果可以进位 num[k] = n%10; //新增一位 n /=10; //继续判断能否进位 k++; } } for(int x=k-1;x>=0;x--){ //输出数字 printf("%d",num[x]); } } else{ printf("%s\n","Invalid input"); } }
相关文章推荐
- Qt5连接Mysql5.7例子
- java方法区究竟存储了什么?
- 新的开始
- MySQL数据库连接池技术
- 【排序】冒泡排序、选择排序、插入排序、希尔排序
- java spring代码通用结构-resources
- 丑数
- 【maven】mvn-autoconfig插件-配置不同开发环境
- 炉石传说
- 百度地图路线规划功能的实现
- ubuntu的弹出U盘/移动硬盘
- 阅读《RobHess的SIFT源码分析:综述》笔记2
- 白话经典算法系列
- <转>thinkphp自动验证无效的问题
- window_onload和body_onload
- 项目上线,发布使用 jenkins总结
- qq游戏IE组件停止工作
- HBase 默认配置说明
- 让div等块级元素水平以及垂直居中的解决办法
- 折半插入查找