当前位置: 首页 > news >正文

P1009 阶乘之和

[NOIP1998 普及组] 阶乘之和

题目描述

用高精度计算出 S = 1 ! + 2 ! + 3 ! + ⋯ + n ! S = 1! + 2! + 3! + \cdots + n! S=1!+2!+3!++n! n ≤ 50 n \le 50 n50)。

其中 ! 表示阶乘,定义为 n ! = n × ( n − 1 ) × ( n − 2 ) × ⋯ × 1 n!=n\times (n-1)\times (n-2)\times \cdots \times 1 n!=n×(n1)×(n2)××1。例如, 5 ! = 5 × 4 × 3 × 2 × 1 = 120 5! = 5 \times 4 \times 3 \times 2 \times 1=120 5!=5×4×3×2×1=120

输入格式

一个正整数 n n n

输出格式

一个正整数 S S S,表示计算结果。

样例 #1

样例输入 #1

3

样例输出 #1

9

提示

【数据范围】

对于 100 % 100 \% 100% 的数据, 1 ≤ n ≤ 50 1 \le n \le 50 1n50

【其他说明】

注,《深入浅出基础篇》中使用本题作为例题,但是其数据范围只有 n ≤ 20 n \le 20 n20,使用书中的代码无法通过本题。

如果希望通过本题,请继续学习第八章高精度的知识。

#include<bits/stdc++.h>
using namespace std;
int n,a[101]={0},s[101]={0};
void change(int x)
{int g=0;for(int i=100;i>=0;i--){a[i]=a[i]*x+g;g=a[i]/10;a[i]=a[i]%10;}
}
void sum()
{int g=0;for(int i=100;i>=0;i--){s[i]=s[i]+a[i]+g;g=s[i]/10;s[i]=s[i]%10;}
}
void mul()
{int w;for(int i=0;i<=100;i++){if(s[i]!=0){w=i;break;}}for(int i=w;i<=100;i++)printf("%d",s[i]);
}
int main()
{scanf("%d",&n);s[100]=a[100]=1;for(int i=2;i<=n;i++){change(i);sum();}mul();return 0;
}

ps:

本体高精乘法

http://www.lryc.cn/news/126721.html

相关文章:

  • Linux内核源码剖析之TCP保活机制(KeepAlive)
  • 后端 springboot 给 vue 提供参数
  • 《vue3实战》运用radio单选按钮或Checkbox复选框实现单选多选的试卷制作
  • 排序算法-冒泡排序(C语言实现)
  • 星际争霸之小霸王之小蜜蜂(一)
  • 图数据库_Neo4j基于docker服务版安装_Neo4j Desktop桌面版安装---Neo4j图数据库工作笔记0004
  • docker-compose部署可道云
  • Windows上使用FFmpeg实现本地视频推送模拟海康协议rtsp视频流
  • 单片机之从C语言基础到专家编程 - 4 C语言基础 - 4.8 运算符
  • 轮腿机器人的PID控制
  • ChatGPT爆火,会给教育带来什么样的影响或者冲击?
  • Servlet+JDBC实战开发书店项目讲解第三篇:商品查询实现
  • 爬虫逆向实战(十七)--某某丁简历登录
  • 《安富莱嵌入式周报》第320期:键盘敲击声解码, 军工级boot设计,开源CNC运动控制器,C语言设计笔记,开源GPS车辆跟踪器,一键生成RTOS任务链表
  • DRF 缓存
  • Collada .dae文件格式简明教程【3D】
  • 在K8s上处理nginx
  • 嵌入式:ARM Day4
  • SpringBoot案例-员工管理-分页条件查询
  • python控制obs实现无缝切换场景!obs-websocket-py
  • Vue3实现图片懒加载及自定义懒加载指令
  • LeetCode150道面试经典题-- 环形链表(简单)
  • 音视频学习-音视频基础
  • asp.net core webapi如何执行周期性任务
  • 快速搭建图书商城小程序的简易流程与优势
  • C++ template 循环
  • 时序预测 | MATLAB实现基于CNN-BiGRU卷积双向门控循环单元的时间序列预测-递归预测未来(多指标评价)
  • mysql 数据备份和恢复
  • Lucene教程_编程入门自学教程_菜鸟教程-免费教程分享
  • 物联网工程应用实训室建设方案