信息学奥赛一本通 1172:求10000以内n的阶乘

2023-11-08

题目链接:http://ybt.ssoier.cn:8088/problem_show.php?pid=1172

思路:计算 n ! n! n! 相当于大整数 1 1 1 依次乘以 1 ∼ n 1 \sim n 1n,直接复用 高精度乘低精度 的代码即可。

#include <iostream>
#include <string>
#include <vector>

using namespace std;

vector<int> mul(vector<int> &a, int b)
{
    vector<int> c;
    
    for (int i = 0, t = 0; i < a.size() || t; i++)
    {
        if (i < a.size())
        {
            t += a[i] * b;
        }
        c.push_back(t % 10);
        t /= 10;
    }
    
    // 删除前导0
    while (c.size() > 1 && c.back() == 0)
    {
        c.pop_back();
    }
    
    return c;
}

int main()
{
    int n;
    cin >> n;

    vector<int> res;
    res.push_back(1);
    
    for (int i = 1; i <= n; i++)
    {
        res = mul(res, i);
    }
    
    // 逆序输出
    for (int i = res.size() - 1; i >= 0; i--)
    {
        cout << res[i];
    }
    cout << endl;
    
    return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

信息学奥赛一本通 1172:求10000以内n的阶乘 的相关文章

  • WinForms:如何确定窗口是否不再活动(没有子窗口具有焦点)?

    我的应用程序使用多个窗口 我想隐藏一个特定窗口 以防应用程序失去焦点 当活动窗口不是应用程序窗口时 source https stackoverflow com questions 466354 how can i tell if a wi
  • OpenCv读/写视频色差

    我试图简单地使用 openCV 打开视频 处理帧并将处理后的帧写入新的视频文件 我的问题是 即使我根本不处理帧 只是打开视频 使用 VideoCapture 读取帧并使用 VideoWriter 将它们写入新文件 输出文件看起来比输入更 绿
  • C#动态支持吗?

    看完之后这个帖子 https stackoverflow com questions 2674906 when should one use dynamic keyword in c sharp 4 0k和链接 我还有 2 个问题 问题 1
  • 以编程方式检查页面是否需要基于 web.config 设置进行身份验证

    我想知道是否有一种方法可以检查页面是否需要基于 web config 设置进行身份验证 基本上如果有这样的节点
  • 为什么大多数 C 开发人员使用 Define 而不是 const? [复制]

    这个问题在这里已经有答案了 在许多程序中 define与常量具有相同的用途 例如 define FIELD WIDTH 10 const int fieldWidth 10 我通常认为第一种形式优于另一种形式 它依赖于预处理器来处理基本上是
  • 如何创建可以像 UserControl 一样编辑的 TabPage 子类?

    我想创建一个包含一些控件的 TabPage 子类 并且我想通过设计器来控制这些控件的布局和属性 但是 如果我在设计器中打开子类 我将无法像在 UserControl 上那样定位它们 我不想创建一个带有 UserControl 实例的 Tab
  • 32 位应用程序的特征最大矩阵大小

    所以 我正在寻找Eigen http eigen tuxfamily org index php title Main Page当我尝试声明大于 10000x10000 的矩阵时 包崩溃 我需要声明一个像这样的矩阵 可靠地大约有 13000
  • 使用post方法将多个参数发送到asp.net core 3 mvc操作

    使用 http post 方法向 asp net mvc core 3 操作发送具有多个参数的 ajax 请求时存在问题 参数不绑定 在 dot net 框架 asp net web api 中存在类似的限制 但在 asp net mvc
  • C# 中的接口继承

    我试图解决我在编写应用程序时遇到的相当大的 对我来说 问题 请看这个 为了简单起见 我将尝试缩短代码 我有一个名为的根接口IRepository
  • C++ 异步线程同时运行

    我是 C 11 中线程的新手 我有两个线程 我想让它们同时启动 我可以想到两种方法 如下 然而 似乎它们都没有按照我的预期工作 他们在启动另一个线程之前启动一个线程 任何提示将不胜感激 另一个问题是我正在研究线程队列 所以我会有两个消费者和
  • 如何配置 WebService 返回 ArrayList 而不是 Array?

    我有一个在 jax ws 上实现的 java Web 服务 此 Web 服务返回用户的通用列表 它运行得很好 Stateless name AdminToolSessionEJB RemoteBinding jndiBinding Admi
  • 如何从 C# 控制器重定向到外部 url

    我使用 C 控制器作为网络服务 在其中我想将用户重定向到外部网址 我该怎么做 Tried System Web HttpContext Current Response Redirect 但没有成功 使用控制器的重定向 http msdn
  • 当前的 c++ 工作草案与当前标准有何不同

    通过搜索该标准的 PDF 版本 我最终找到了这个链接C 标准措辞草案 http www open std org jtc1 sc22 wg21 docs papers 2012 n3376 pdf从 2011 年开始 我意识到我可以购买最终
  • Qt 创建布局并动态添加小部件到布局

    我正在尝试在 MainWindow 类中动态创建布局 我有四个框架 它们是用网格布局对象放置的 每个框架都包含一个自定义的 ClockWidget 我希望 ClockWidget 对象在调整主窗口大小时相应地调整大小 因此我需要将它们添加到
  • 尚未处理时调用 Form 的 Invoke 时出现 ObjectDisposeException

    我们得到一个ObjectDisposedException从一个电话到Invoke在尚未处理的表格上 这是一些演示该问题的示例代码 public partial class Form2 Form void Form2 Load object
  • 将代码拆分为标头/源文件

    我从 Asio 的示例页面中获取了以下代码 class tcp connection public boost enable shared from this
  • WinRT 定时注销

    我正在开发一个 WinRT 应用程序 要求之一是应用程序应具有 定时注销 功能 这意味着在任何屏幕上 如果应用程序空闲了 10 分钟 应用程序应该注销并导航回主屏幕 显然 执行此操作的强力方法是在每个页面的每个网格上连接指针按下事件 并在触
  • 带重定向标准流的 C# + telnet 进程立即退出

    我正在尝试用 C 做一个 脚本化 telnet 项目 有点类似于Tcl期望 http expect nist gov 我需要为其启动 telnet 进程并重定向 和处理 其 stdin stdout 流 问题是 生成的 telnet 进程在
  • Googletest:如何异步运行测试?

    考虑到一个包含数千个测试的大型项目 其中一些测试需要几分钟才能完成 如果按顺序执行 整套测试需要一个多小时才能完成 通过并行执行测试可以减少测试时间 据我所知 没有办法直接从 googletest mock 做到这一点 就像 async选项
  • 错误:无效使用不完整类型“类 Move”/未定义对 Move::NONE 的引用

    拜托 我不知道为什么这个简单的代码被拒绝 它给了我 2 个编译错误 请帮帮我 I use 代码 块 20 03 我的编译器是GNU GCC 移动 hpp class Move public Move Move int int public

随机推荐

  • 服务降级、熔断、限流

    目录 目录 1 概念 1 1 降级 1 1 1 常见降级 1 1 2 示例 1 2 熔断 1 2 1 熔断设计 1 2 2 示例 1 3 限流 1 3 1 算法 1 3 2 示例 2 区别 3 案例 1 概念 1 1 降级 服务降级处理是在
  • java 判断两个字符串的字符集是否相同

    问题描述 给定两个字符串判断它们的字符集是否相同 例如 aaabbcc 和 abc 的字符集是相同的 字符集都是 a b c 解题方法 这题与变形词不同在于仅仅要求字符集相同 对数量和长度没有要求 而变形词是要求重复出现的次数也要相同 可以
  • 基于selenium的twitter博文评论爬虫

    技术合作联系 13958075150 1 首次登录获取cookies并存为文件 from selenium import webdriver import time import json br webdriver Chrome br ge
  • 【nacos】5.2 @RefreshScope + @Value 注解 自动刷新配置

    返回首页 gt 笔记 Spring Cloud Alibaba Nacos 接上节 spring cloud Nacos 实现统一配置管理 1 问题 如何不启动spring boot项目自动更新 Value 注解的值 2 方案 类 方法 属
  • 螺旋矩阵的python实现

    问题描述 对于一个 n 行 m 列的表格 我们可以使用螺旋的方式给表格依次填上正整数 我们称填好的表格为一个螺旋矩阵 例如 一个 4 行 5 列的螺旋矩阵如下 1 2 3 4 5 14 15 16 17 6 13 20 19 18 7 12
  • eclipse indigo版本连接oracle XE(图解)

    讲在题前 oracle 的各个版本对应的驱动名称 oracle 不同版本的驱动 是对应不对的JDK版本的 例如JDK是1 4的话 你需要的oracle的JDBC的驱动包名称为 ojdbc14 jar 例如JDK是1 4的话 你需要的orac
  • C语言——字符串翻转

    C语言系列文章 C语言 判断回文数 对称数 字符串翻转 C语言系列文章 前言 字符串翻转 复习时间 C语言代码 总结 前言 哈喽 小伙伴们 最近在复习C语言的基础语法 从0开始 所以今天的题目比较简单 也就是我们最常见的字符串翻转问题 这道
  • go语言详解-----包(package)引入

    一 go语言基础 1 每一个可运行的go程序必须要有一个main 包 package 即package main 并且该main包中必须要有一个main函数 这是一个入口函数 2 一个包中的描述符要能够被其他的包引用 那么该包中的相关描述符
  • Matlab 散点图(Scatter)和颜色图(Colormap)

    目录 一 什么是散点图 二 什么数据需要用散点图来呈现 三 matlab 中的颜色如何表示和调用 ColorOrder LineStyleOrder 应用实例 四 颜色和透明度在散点图中的灵活应用 二维散点图 三维散点图 数据分组 五 Sc
  • Android O(8.0)以上系统使用通知

    前言 根据 第一行代码 第二版 第八章中通知的写法 在我自己手机上调试的时候没有任何反应 查阅资料后发现 因为我的手机系统是MIUI10 3版本 为Android 9系统 而在Android 8系统上对通知进行了修改 引入了消息通道 Not
  • Dynamic CRM9.0 环境安装部署手册步骤和遇到的一些问题解决方案(包含ADFS部署)

    Dynamic CRM9 0 环境安装部署手册 Dynamic 365和ADFS配置安装过程踩了一些坑 拿出来和大家记录分享一下 目录 Dynamic CRM9 0 环境安装部署手册 一 Active Directory 和 IIS 的安装
  • pgsql:跨库访问其他数据库

    在mssql或mysql中 跨库访问其他数据库是很简单的 用 数据库名 表名 即可访问 但在pgsql中跨库访问就稍微麻烦一些 需要做一些前期准备 以下使用了自带的扩展插件postgres fdw来创建跨库链接 开启扩展插件 CREATE
  • element-ui+vue使用时遇到的坑

    从事前端工作也有几年了 大大小小的项目也做了不少 遇到过许多的坑 有时候项目太忙 没有那么多的时间来整理一些知识点 挺吃亏的 因为我始终相信不总结就相当于没学到东西 所以最近开始写起了博客 我深知前端大佬比比皆是 但这也仅仅是我想要对自己负
  • 二叉树基本代码实现

    目录 1 二叉树的链式结构 2 二叉树的遍历 2 1先序遍历 2 2中序遍历 2 3后序遍历 3 二叉树的基本操作 3 1求二叉树结点个数 3 1 1全局遍历 3 1 2递归的思想分治 3 1 3局部变量 3 2求二叉树叶子结点个数 3 3
  • 编译Linux报错/usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o: in function `_start‘:

    报错信息 解决方法 改成编译动态库
  • 构造方法的访问级别之private

    构造方法的访问级别 public protected private 默认访问级别都可以 在此重点记录由private修饰的构造方法 private修饰的构造方法的访问级别 当构造方法别声明为private时 就意味着只有当前类的方法可以调
  • js-数组坍塌

    什么是数组坍塌 当数组执行删除单元格操作时 被删除单元 之后的单元 会前移 进而顶替被删除单元 出现在被删除单元的位置上 造成数组长度减少情况 这样的现象称为数组坍塌 var arr a b c d e for var i 0 i lt a
  • 行列式(determinant)求值

    如果A是一个矩阵 n n方阵 则det A 或 A 表示和A对应的n阶行列式 是一个标量 行列式值直接求解 1阶行列式的值等于其唯一元素值 2阶矩阵的行列式 a
  • TIdTCPClient控件中文指南(转)

    2008 05 24 06 37 P M IdTCPClient 该控件包装了一个完整的TCP客户端 该客户端包括sock支持 该控件是以下客户端控件的父类 TIdDayTime TIdEcho TIdFinger TIdFTP TIdGo
  • 信息学奥赛一本通 1172:求10000以内n的阶乘

    题目链接 http ybt ssoier cn 8088 problem show php pid 1172 思路 计算 n n n 相当于大整数 1 1 1 依次乘以