阶乘计算升级版(大整数)
来源:互联网 发布:黑河学院教务网络系统 编辑:程序博客网 时间:2024/05/10 10:59
本题要求实现一个打印非负整数阶乘的函数。
函数接口定义:
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){if(N < 0) printf("Invalid input\n");else if(N == 0) printf("1\n");else{int number[10000]={0}; number[0] = 1;int right = 0, num, carry=0;for(int n = 2; n <= N; ++n){for(int r = 0; r <= right; ++r){num = number[r] * n + carry;number[r] = num % 10;carry = num / 10;}while(carry){right ++;number[right] = carry %10;carry/=10;}}for(int r = right ; r >=0 ; --r){printf("%d", number[r]);// printf(" right: %d", right);}}}
0 0
- 阶乘计算升级版(大整数)
- 大整数阶乘计算
- 阶乘计算升级版
- 阶乘计算升级版
- 阶乘计算升级版
- 阶乘计算升级版
- 阶乘计算升级版
- 大整数阶乘的计算 N!
- 大整数阶乘的运算(可以计算1000!)
- 解题笔记(38)——大整数阶乘计算
- 计算大整数(比如1000)的阶乘
- java 之BigInteger类实现计算大整数的阶乘
- 基础练习 阶乘计算 (大整数Bignteger的应用)
- 4-10 阶乘计算升级版
- 4-10 阶乘计算升级版*
- 4-10 阶乘计算升级版
- [PTA] 4-10 阶乘计算升级版
- PTA 6-10 阶乘计算升级版
- 白话算法
- POJ1659
- HTML <input> type 属性
- 基于 HMM 模型的语音识别语音识别中使用 HMM 通常是用从左向右单向、带 自环、带跨越的拓扑结构来对识别基元建模 , 一个音素 就是一个三至五状态的 HMM , 一个词就是构成词的多 个音素的 H
- 利用c语言实现写入数据
- 阶乘计算升级版(大整数)
- 职责链模式
- c&c++函数变参的实现
- spring(10)通过spring 和 JDBC征服数据库
- Behavioral Patterns Part 1/11: Chain Of Responsibility Pattern
- c语言实现图的深度优先遍历和广度优先遍历
- Spark的伪分布安装和wordcount测试
- 虚函数和纯虚函数
- 3台机器配置hadoop2.6.4集群