题目描述

启明星软件组组长听说我们会乘法之后,立马让我们帮他算一下阶乘(怎么有这么坏的组长)。

此题也很简单只需要算一下不大于100的数n的阶乘就好了,看我多好数据一下子少了10倍哦!

输入

输入有多组数据。

对于每组测试数据,在一行中给出一非负整数n(n小于等于100)。

输入保证数据没有前导0;

当读到文件结尾时输入结束

输出

对于每组输入,在一行中输出非负整数n阶乘的结果。

样例输入

3
5
10

样例输出

6
120
3628800

(高精度阶乘是我认为相对于其他高精度来说是最简单的,因为输入的是一个数了,不是一个数组,所以不用倒置,不用转换类型,只不过是将小于等于n的每一个数与存结果的数组相乘,就是这个数与数组中的每一位相乘,然后相乘进位,最后还是要倒序输出这个数组。期间提交上去一直wrong answer,最后发现是本人的初中数学没有学好,零的阶乘为一,而我还一直傻傻认为零的阶乘为零,然后一直改下面的代码我相信我今生都会记得零的阶乘为一了)

#include<stdio.h>

int main() {
int n;
while(scanf("%d",&n)!=EOF) {
if (n == 0)
printf("1\n");
else {
int a[1000]={0};
int c,s;
int i,j;
a[0] = 1;
for (i = 1;i <= n; i++) {
c = 0;
for (j = 0;j < 1000; j++) {
s = a[j]*i+c;
a[j] = s % 10;
c = s / 10;
}
}
j = 999;
while (j) {
if (a[j])
break;
j--;
}
for (i = j; i >= 0; i--)
printf("%d",a[i]);
printf("\n");
}
}
return 0;
}

(C语言)高精度阶乘相关推荐

  1. c语言高精度算法阶乘_任意位数的高精度阶乘算法 C语言版

    文章作者:姜南(Slyar)文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作. 今天就研究这个"任意位数的高精度阶乘算法"了,通过和大三的一个学 ...

  2. 高精度阶乘C语言实现

    #include <stdio.h> #include <stdlib.h> #include <math.h> //高精度阶乘,计算n!//时间复杂度为O(n^2 ...

  3. P1134 高精度阶乘

    P1134 高精度阶乘 滚动数组. #include <bits/stdc++.h> using namespace std; int main () {int n;while (cin& ...

  4. C++求阶乘四种方法,阶乘和,高精度阶乘

    目录 前言 一.阶乘和是什么? 二.题目 三.对错代码对比 1.错误代码 2.正确代码 四,拓展(以下均多组输入) 1,简单阶乘(int递归) 2,阶乘改进1(long long递归) 3,阶乘改进2 ...

  5. 语言高精度算法阶乘_JavaScript中的算法(附10道面试常见算法题解决方法和思路)...

    https://juejin.im/post/6844903811505455118 Introduction 面试过程通常从最初的电话面试开始,然后是现场面试,检查编程技能和文化契合度.几乎毫无例外 ...

  6. c语言高精度算法阶乘_学了这么久的C语言,原来可以这样解决算法问题...

    C语言中有有许多经典的算法,这些算法都是许多人的智慧结晶,也是编程中常用的算法,这里面包含了众多算法思想,掌握这些算法,对于学习更高级的.更难的算法都会有很大的帮助,会为自己的算法学习打下坚实的基础. ...

  7. 高精度阶乘和 高精度算法(c语言)

    以前刷oj的时候 遇见一个题目 也就是输入一个数字 判断阶乘和 用高精度计算出S=1!+2!+3!+-+N!(N≤50),其中"!"表示阶乘, 例如:5!=5*4*3*2*1.输入 ...

  8. 阶乘和||C语言(高精度)

    描述 用高精度计算出S=1!+2!+3!+-+n!(n≤50) 其中"!"表示阶乘,例如:5!=5*4*3*2*1. 输入正整数N,输出计算结果S. 输入 一个正整数N. 输出 计 ...

  9. C语言基础 阶乘:输入一个数,输出它的阶乘。

    升级打怪 C语言基础第一题 题目: 输入一个数字,输出它的阶乘. 求阶乘有很多种方法,我下面来例举一种使用while语句的方法! 1.首先定义变量: 2.输入所要求的阶乘: 3.使用while循环 f ...

最新文章

  1. 视+AR获近亿元A+轮融资,汽车之家领投
  2. mysql-mybatis 8.0版本配置====解决could not create connection to database server.
  3. DataGridView数据控件演示
  4. python发明者叫什么-python是谁发明的
  5. 一场面试,用20秒介绍自己顺便教训了领导
  6. nova 之compute服务
  7. virtualbox中安装ubuntu
  8. arima模型怎么拟合_7个统计测试,用于验证和帮助拟合ARIMA模型
  9. 创业,“玩”的就是心态
  10. python自动轨迹绘制_自动轨道图,轨迹,绘制
  11. python编程从入门到实战的16堂课_Python编程从入门到实战的16堂课(第2版)简介,目录书摘...
  12. 现任明教教主DM×××的3G链路备份
  13. POJ-1149(网络流)
  14. mysql函数之一:INSTR、LOCATE、POSITION VS LIKE
  15. Swift3.0P1 语法指南——控制流
  16. 今晚20:00整!中国首个量子计算操作系统即将发布
  17. Android富文本编辑器
  18. Sublime 安装Boxy + OmniMarkupPreviewer
  19. 视觉推理(Visual Reasoning)
  20. JAVA国际化 - Eason Jiang - 博客园

热门文章

  1. bomb实验(报告)
  2. 欧洲语言框架A1到C2,C2怎么报名?法语等级考试里面的A1?
  3. linux so 发布,如何在Linux上构建发布包含.so动态库的snap安装包
  4. Lvs负载均衡 ——NET模式群集部署
  5. 物流英语与计算机操作,物流英语与计算机模拟题及正确答案[精选].doc
  6. error reconnecting to master ‘userName@192.168.1.88:3306‘ - retry-time: 60 maximum-retries: 86400
  7. Thinkpad T61 fn+f5不能控制无线解决
  8. 3D打印品牌的康复骨科支具有何特别之处?
  9. 如何使用WinHex恢复数据(小宇特详解)
  10. Laravel学习记录--LaravelDebugbar