【简单】阶乘之和

2023-11-17

描述

给定n的值,求Sn=1!+2!+3!+4!+5!+…+n!之值。

但Sn可能很大,因此只要求出Sn关于100007的余数。

输入

输入数据有多组,每组占一行,每行一个正整数n(n<=1000)。

输出

每组输出一个整数,即Sn Mod 100007。

样例输入

1
2
3

样例输出

1
3
9

题目来源

TZOJ

分析:
对结果求余=打开括号后对过程中的每个细小结果求余,包含一丝丝动态规划的意思。
代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int C[1001]={0},S[1001]={0};
for (int i=1;i<=1000;i++)
{
int d=1;
for (int j=2;j<=i;j++)
{
d=(d*j)%100007;
}
C[i]=d%100007;
}
S[1]=C[1];
for (int i=2;i<=1000;i++)
{
S[i]=(C[i]+S[i-1])%100007;
}
int n;
while(cin>>n)
{
cout<<S[n]<<endl;
}
return 0;
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【简单】阶乘之和 的相关文章

  • 排序和复杂度

    常见的排序方式 1 冒泡排序 时间复杂度 最好情况是 O n 最坏情况是 O n2 空间复杂度 开辟一个空间交换顺序O 1 2 快速排序 时间复杂的 最好情况是 O nlogn 最坏情况是 O n2 空间复杂度 最好的情况 每一次base值
  • c 语言实现的简单屏幕烟花程序

    include stdlib h include graphics h include stdio h include math h include conio h define PI 3 1425926 main int gdriver
  • #if...#endif的用法总结参考

    if endif的用法总结 if endif是C 种的条件编译预处理命令 有两种格式 1 ifdef 标示符 程序段1 else 程序段2 endif 表示 如果标示符已经被 define命令定义过 则编译程序段1 否则编译程序段2 2 i
  • const的一些用法和理解

    首先先说一下const常量的用处 我们知道宏定义 define是没有数据类型的 编译器在编译的时候 不会对宏常量进行类型检查 只进行简单的字符串替换 字符串替换时极易产生意想不到的错误 所以这个时候 我们用需要用到某种声明了数据类型的常量
  • C语言常量、变量、标识符

    一 变量概述 变量是一个保存数据的地方 当我们需要在程序里保存数据时 就需要一个变量来保存它 变量定义的一般形式就是 lt 类型名称 gt lt 变量名称 gt 例如 int price int amount int price amoun
  • 【C语言】 getchar()与EOF的疑难杂症

    C语言程序设计 大师写的书本 需要字斟句酌 在接触到getchar 和EOF 文件结束符 感觉到疑惑 特此记录下来 一 getchar 总结如下 1 getchar是以行为单位进行存取的 当调用getchar函数读取输入时 只有当输入字符为
  • C语言学习:运算符和表达式

    算数运算符 自增 自减运算符 作用是让变量的值加1减1 i 在使用i之前加一 i 在使用i之后加一 这种运算符只能用于变量 常常用在循环语句哪里 也用于指针变量 是指针指向下一个地址 算数优先级 一个数两边都有运算符 那么先考虑优先级 如果
  • 自定义类型:结构体

    C语言之自定义类型 结构体 文章目录 C语言之自定义类型 结构体 前言 1 结构体 1 1 结构体声明 1 1 1 一般格式 1 1 2 特殊结构体声明 1 2 结构的自引用 1 3 结构体变量的定义和初始化 1 4 结构体内存对齐 1 4
  • giaogiao教你用c语言在屏幕上打印各种图案

    今天我们用c语言来实现在屏幕上打印用 组成的图案 首先呢 我们从简单的开始 输出自定义行数的矩形 我定义了三个变量 用for循环做了一个嵌套 用n来限制i j 从而控制输出图案的大小 搞定 你看我屌么 哈哈哈哈 这只是开始 我试试来输出自定
  • c提高学习——(字符串强化_查找字串)实现strstr

    先简单的看一下strstr的用法 include
  • 华为机试--简单题(一)

    HJ14 字符串排序 知识点 字符串 排序 描述 给定 n 个字符串 请对 n 个字符串按照字典序排列 数据范围 1 n 1000 字符串长度满足1 len 100 输入描述 输入第一行为一个正整数n 1 n 1000 下面n行为n个字符串
  • 用一个数组实现两个栈(共享栈)

    共享栈 一个数组实现两个栈 第一个栈是开头 第二个栈是结尾 用c语言实现 很简单 两个指针一个数组就够了 上代码 define CRT SECURE NO WARNINGS 1 include
  • 求字符串长度的三种方法(C语言)

    如何求字符串的长度 首先要明白字符串存储的原理 字符串存储时 是以 0 结尾 这个就可以作为判断字符串结尾的一个条件 接下来 只要有字符串的首元素地址 就可以解决求字符串长度的问题啦 第一种 普通版 int my strlen char s
  • C语言排序算法实现

    C语言实现各种排序算法 冒泡排序 选择排序 插入排序 希尔排序 插入方式 非交换方式 快速排序 归并排序 分治思想 基数排序 桶排序 基数排序的基本思想 典型的空间换时间方式 冒泡排序 include
  • 8-1运用指针比较三个数的大小

    include
  • 6-15 复制字符串

    include
  • 6-3 求3*3整数矩阵对角线元素之和

    include
  • 6-11画图---没画出来。。。

    include
  • 8-2比较三个字符串大小(指针)

    include
  • 9-4 函数输入信息,函数输出信息

    include

随机推荐

  • shader学习笔记一:shader运行原理及uniform关键字

    shader运行原理 首先 opengl api函数输入一些数据 包括顶点数据 纹理数据 矩阵变换数据 这些顶点数据到 顶点处理阶段 顶点处理阶段 图形流水线会调用 vertex shader 顶点shader 对顶点进行处理 有多少个顶点
  • QT 5.12.9 +VS 2019配置并实现与三菱Q系列PLC通讯(2)实现通讯

    QT 5 12 9 VS 2019配置并实现与三菱Q系列PLC通讯功能 1 软件的安装 之前已经完成了软件的安装 接下来要通过MX Component去实现PLC的直连功能 首先 打开VS2019 新建项目 搜索qt 在出来的内容中选择QT
  • Feign 中的继承、日志与数据压缩

    上篇文章和大家分享了声明式微服务调用组件 Feign 的基本用法 相信大家已经了解到使用 Feign 的好处了 使用 Feign 有效地解决了使用 RestTemplate 时的代码模板化的问题 使服务之间的调用更加简单方便 同时也不易出错
  • tk.mybatis默认insert方法,使用@GeneratedValue无效的坑,提示id不能为null

    坑了一小时 试了各种配置 最后发现 是数据库没有为ID设置自增 记录一下
  • android延迟自动跳转,Android实现倒计时跳转和延时操作

    App启动页倒计时3秒跳转到App的首页 这种操作在很多App中都很常见 如果需要做一个延时操作呢 写一个子线程停留3秒然后执行操作 这样的话需要特别的注意的是UI操作必须放在主线程里 那么还需要转化成主线程 NO 使用Handler轻松实
  • 计算机网络拓扑结构详解

    计算机网络拓扑结构是指网络中通信线路和设备的分布情况以及连接状态所形成的物理布局 网络拓扑结构主要包括 总线型拓扑结构 星型拓扑结构 环型拓扑结构 树型拓扑结构 网状拓扑结构 混合型拓扑结构 1 总线型拓扑结构 释义 采用一条公共总线将所有
  • CTF_Misc题目分析2_linux系统密码

    CTF Misc题目分析2 linux系统密码 引入 John the Ripper John the Ripper 是一个快速的密码破解工具 用于在已知密文的情况下尝试破解出明文的破解密码软件 支持大多数的加密算法 主要目的是破解不够牢固
  • 2023华为od机试统一考试B卷Java【稀疏矩阵】

    前言 本题使用Java解答 如果需要Python代码 请参考以下链接 点我 题目描述 稀疏矩阵的定义是 矩阵中有很多系数都是 0 现在我们有一个矩阵 我们进行逐行逐列扫描 在扫描的过程中 如果某一行或者某一列内 如果 0 的个数超过了当前的
  • python文件操作与异常处理

    一 文件操作 内建函数open 能够打开一个指定路径下的文件 返回一个文件对象 open的两个参数 第一个参数是文件名 第二个是打开方式 r w a b 依次表示读 写 追加写 二进制 1 内建函数 包含在 buildings 这个模块中的
  • 什么是数字化管理

    问题 什么是数字化管理 数字化管理是什么意思 数字化管理是指利用计算机 通信 网络 人工智能等技术 量化管理对象与管理行为 实现计划 组织 协调 服务 创新等职能的管理活动和管理方法的总称 数字化管理的本质就是将现代化管理思想 管理方法 管
  • JS String 字符串方法

    1 charAt 方法从一个字符串中返回指定的字符 var anyString Brave new world console log anyString charAt 0 B console log anyString charAt 1
  • 移动端自动化测试实战

    UI自动化测试的价值 1 提升回归测试的效率 2 可以进行兼容性测试 UI 自动化测试应用场景 冒烟测试自动化 提测之前自动断言提测质量 提供准入参考 功能测试自动化 辅助 QA 与测试工程师的快速验证 验收测试自动化 兼容性测试等 移动端
  • Markdown 语法完全指南

    这里写目录标题 简介 1 标题 2 段落和换行 3 文本样式 粗体和斜体 删除线和代码 嵌套标记 4 链接 内联链接 引用链接 5 列表 无序列表 有序列表 嵌套列表 任务列表 6 引用块 7 插入图片 8 水平线 9 代码块 10 表格
  • MySQL 的优化方案总结

    性能优化 Optimize 指的是在保证系统正确性的前提下 能够更快速响应请求的一种手段 而且有些性能问题 比如慢查询等 如果积累到一定的程度或者是遇到急速上升的并发请求之后 会导致严重的后果 轻则造成服务繁忙 重则导致应用不可用 它对我们
  • 如何使用命令实现在达梦数据库里修改表的某个字段

    达梦数据库里当字段长度太小的时候 在应用程序里会出现这样的报错 列 XXXX 长度超出定义 说明当前要存储的内容跟设定的字段长度是不匹配的 很明显这样的问题是要调整字段长度的的 定位到列所在的表 就可以通过达梦sql脚本去修改这个字段的长度
  • 【Xilinx】Spartan 7上手指南(ARTY S7开发板)

    Spartan 7上手指南 一 安装board文件 1 下载并解压板卡压缩文件 2 复制到Vivado安装目录 二 demo工程 1 下载demo 2 修改tcl 3 恢复工程 4 生成bit 三 调试运行 1 连接电脑 2 设置串口 3
  • 分布式应用:Zabbix 自动发现与自动注册

    目录 一 理论 1 Zabbix 自动发现 2 Zabbix 自动发现部署 3 Zabbix 自动注册 4 Zabbix 自动注册部署 二 实验 1 Zabbix 自动发现部署 2 Zabbix 自动注册部署 三 总结 一 理论 1 Zab
  • 浅谈前端单元测试

    首先声明一点 长期以来 前端开发的单元测试并不是在前端的开发过程中所必须的 也不是每个前端开发工程师所注意和重视的 甚至扩大到软件开发过程中单元测试这一环也不是在章程上有书面规定所要求的 但是随着每个工程的复杂化 代码的高复用性要求和前端代
  • MySql设置唯一标识主键等设置

    建立表 create table user score name char 10 not null default score smallint not null default 0 增加一列 alter table user score
  • 【简单】阶乘之和

    描述 给定n的值 求Sn 1 2 3 4 5 n 之值 但Sn可能很大 因此只要求出Sn关于100007的余数 输入 输入数据有多组 每组占一行 每行一个正整数n n lt 1000 输出 每组输出一个整数 即Sn Mod 100007 样