洛谷 P1591 阶乘数码 题解

洛谷P1591--阶乘数码_题解 /* P1591 题解 多次高精度乘低精度+循环枚举 */ #include //头文件 #include //头文件 int s[10001]={0},t=0,n=0//定义变量,s数组是用来存储答案的,因为答案可能会很大,所以要用高精,t表示这个数(即答案)有t位,n表示接下来要进行一次n的阶乘,即(n!) int Cheng(int n)//用来进行乘法的函数(即Chen 阅读详情

题目链接
一看到阶乘两个字,那这题就一定是一道普通的高精度×单精度的题目了,但是还是有几点需要注意:

  • 乘完之后,可能还会有剩余的进位,需要在位数(我这里是p)增加的同时加上;
  • 数组中的第一位需要是 1 1 1,而不是 0 0 0,因为 0 0 0乘上任何数都为 0 0 0;
  • 进位有可能是多位数
  • 数组要清零;
  • 数组不能定的太小了,容易WA或RE。一开始我定的是 1 0 3 10^3 103,不够。
#include <iostream>
#include <cstring>

using namespace std;

const int N = 1e4;

int a[N + 5];
int n, m;
long long ans;

int main() {
	ios::sync_with_stdio(false);
	int T; cin >> T;
	while (T--) {
		memset(a, 0, sizeof(a)); //数组清零
		a[1] = 1; //第一位为1
		cin >> n >> m;
		int p = 1, ext; //p为位数,ext为进位
		for (int i = 2; i <= n; i++) {
			ext = 0; //进位
			for (int j = 1; j <= p; j++) {
				a[j] = a[j] * i + ext;
				ext = a[j] / 10;
				a[j] %= 10;
			}
			while (ext > 0) { //乘完之后剩余的进位
				a[++p] = ext % 10; //考虑到进位可能回事多位数,所以用while循环
				ext /= 10;
			}
		}
		ans = 0;
		for (int j = 1; j <= p; j++)
			ans += (a[j] == m); //统计出现次数
		cout << ans << endl;
	}
	return 0;
}

【题解-洛谷】P1591 阶乘数码(WA) 对于每组数据,输出一个整数,表示。中某个数码出现的次数。 阅读详情

相关推荐

题解:洛谷 P1591 阶乘数码

等知名刷题平台精心挑选而来,并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构,旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。对于每组数据,输出一个整数,表示。中某个数码出现的次数。本文分享的必刷题目是从。#普及-# #数学#

团爸讲算法 228

洛谷 P1591 阶乘数码

本道题有两大主攻方面;1.计算n!2.求a出现的次数整体思路:使用一个数组存储n!,使用函数整体计算n!和a出现的次数int n,a;int lens=1;c[1]=1;i<=n;j<=lens;c[j]%=10;lens++;jw/=10;i>=1;i--){cnt++;int n,a;int lens=1;c[1]=1;i<=n;j<=lens;j++){

xiebohang的博客 487

AI Agent在智能投研中的实战:多智能体信息整合与策略生成

那么,什么是AI Agent?简单来说,AI Agent是一种能够感知环境、做出决策并采取行动的自主系统。自主性:能够在没有人类直接干预的情况下运行,对自己的行为和内部状态有一定的控制权。反应性:能够感知环境的变化,并及时做出反应。主动性:不仅能够对环境变化做出反应,还能够主动地设定目标并采取行动实现这些目标。社会性:能够与其他Agent(包括人类和人工智能)进行交互、协作和竞争。它们可以全天候不间断地监控和处理海量信息,大大提升信息处理能力;

AI大模型应用之禅 188

洛谷 P1591 阶乘数码 (高精度乘法)

高精度乘整数 #include<iostream> #include<cstdio> #include<cstring> #define MAXN 10000 using namespace std; int n,a,T; struct BigInt{ int a[MAXN],M=10000,len; BigInt(){memset(a,0,sizeof(a));len=1;} BigInt(int x){ memset(a,0.

wineandchord 370

PyCharm+QT Designer整合

CMD下使用pip安装PyQt4或者PYQT5 这里要注意,你下载的PYQT5不包含QT designer 还要:pip3 install PyQt5-tools,好像Pyqt5中将designer分离了或者查看源码:https://github.com/altendky/pyqt5-tools,编译安装 将QT Designer整合到PyCharm的External Tools中,以后就可...

mxh的博客 6414

Xilinx PCIe IP核示例工程仿真流程与关键任务解析

本文详细解析了Xilinx PCIe IP核示例工程的仿真流程与关键任务。通过搭建仿真环境、解读初始化日志,并深入剖析TSK_TX_MEMORY_WRITE_32等核心任务的TLP报文生成与交互过程,帮助开发者掌握PCIe IP核的仿真调试方法,为实际硬件设计提供可靠的验证基础。

weixin_28314575的博客 505

洛谷P1591 阶乘数码

第一行为t(t≤10),表示数据组数。接下来t 行,每行一个正整数n(n≤1000) 和数码a。对于每组数据,输出一个整数,表示 n!中 a 出现的次数。//对最后一位做最后的处理。int t = 0;//清空number数组。= 5040,0出现2次)= 120,2出现一次)中某个数码出现的次数。//输入每个数组的值。

weixin_74332010的博客 1460

IoT 平台架构全景图:从设备到 AI 的完整技术体系深度解析

随着物联网设备规模进入百万级时代,IoT 平台架构已经从简单的设备接入系统演变为完整的数据平台。本文从系统架构师视角,深度解析 IoT 平台的完整技术体系,包括设备接入、MQTT 通信、消息流平台、数据平台与 AI 决策系统,并结合主流云平台实践,构建从设备到 AI 的完整 AIoT 架构认知。

moton2017的博客 856

【题解】【洛谷P1591】【高精度】——阶乘数码

蓝胖子编程教育,是一家面向青少年的编程教育平台。平台为全国青少年提供最专业的编程教育服务,包括提供最新最详细的编程相关资讯、最专业的竞赛指导、最合理的课程规划等。本平台利用趣味性和互动性强的教学方式,旨在激发孩子们对编程的兴趣,培养他们的逻辑思维能力和创造力,让孩子们在轻松愉快的氛围中掌握编程知识,为未来科技人才的培养奠定坚实基础。这是一道很经典的高精度问题。同时,我们还要定义两个成员函数。对于每组数据,输出一个整数,表示。欢迎扫码关注蓝胖子编程教育。中某个数码出现的次数。【蓝胖子编程教育简介】

Pantheraonca的博客 985

PLC框架-1.3- 汇川PN伺服(3号报文)

本文以汇川IS620F伺服为例,详细介绍了FB_Servo_ToAxis功能块的应用方法。该功能块封装了MC_Home等轴控指令,实现使能、定位、点动、速度模式及回零等功能,支持转矩限制与显示,并具备行程统计和HMI单位自动切换特性。文章从硬件配置(PN网络连接、报文选择)、参数设置(控制模式、电子齿轮比),到软件实现(功能块调用、手动/自动控制逻辑)进行了系统说明,重点展示了绝对/相对定位、速度模式等典型应用场景的程序编写方法,为汇川伺服在Profinet网络下的工程应用提供了完整解决方案。

qq_34047402的博客 755

YOLOv11 改进 - SPPF模块 | 发论文神器!LSKA注意力改进SPPF,增强多尺度特征提取能力,高效涨点!!!

本文介绍了Large Separable Kernel Attention (LSKA)模块及其在YOLOv11中的结合应用。LSKA旨在解决Visual Attention Networks (VAN)使用大内核卷积时的计算效率问题,通过将2D深度卷积层的卷积核分解为级联的水平和垂直1-D卷积核,降低了计算复杂度和内存占用,且使VAN更关注物体形状。我们将集成LSKA的SPPF_LSKA模块引入YOLOv11,大量实验表明,改进后的模型在对象识别、检测、分割和稳健性测试上表现出色。

魔改工程师的博客 1279

洛谷P1591 阶乘数码 题解(c++)

P1591 阶乘数码。

2201_75789507的博客 466

华为OD机试 - 开源项目热度榜单(Java 2025 C卷 100分)

H = Wwatch X#watch + Wstar X#star +Wfork X#fork +Wissue X#issue +Wmr X#mr H表示热度值,Wwatch、Wstar、Wfork、Wissue、Wmr分别表示5个统计维度的权重,#watch、#star、#fork、#issue、#mr分别表示5个统计维度的统计值。

学Java,找哪吒 1755

【洛谷 P1591】阶乘数码 题解(模拟+高精度)

求n!中某个数码出现的次数。

HEX9CF的技术博客 519

【Claude Code 实战】第十章:DevOps 与 CI/CD 集成 / 光子AI

本章摘要:探讨Claude Code在DevOps与CI/CD集成中的应用。DevOps作为现代软件工程核心,结合AI技术实现自动化全流程,从代码提交到生产部署。通过CALMS模型(文化、自动化、精益、度量、分享)解析DevOps理念,对比传统瀑布模式与DevOps模式差异,展示AI如何加速Dockerfile编写、CI/CD配置等任务。典型示例显示AI可将原本30-60分钟的手动配置缩短至1-2分钟,大幅提升DevOps效率。

AI天才研究院 367

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

P1591 阶乘数码

P1591 阶乘数码

青少年趣味编程 937

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

洛谷 P1591 阶乘数码-普及-

求n!中某个数码出现的次数。

weixin_37253733的博客 275

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

洛谷P1591 阶乘数码(高精度)//高精度加法、高精度乘法

//学习记录 //洛谷P1591 阶乘数码 #include #include const int N =10005 ; // 同一个数据出现多次,可抽象成一个变量 using namespace std; void jia(int p[],int q[],int m[]) { int a[N],b[N],c[N],x=0; //数组可能不够大 memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); memset(c,0,sizeof©); for(int i=0

m0_53179196的博客 257

算法刷题【洛谷P1591】阶乘数码

题目描述 求 n! 中某个数码出现的次数。 输入格式 第一行为 t(t≤10),表示数据组数。接下来 tt 行,每行一个正整数 n(n≤1000) 和数码 a。 输出格式 对于每组数据,输出一个整数,表示 n! 中 a 出现的次数。 输入输出样例 In 1 2 5 2 7 0 Out 1 1 2 咋一看我好像题都没读懂(可能是我当时智障了吧……) 于是直接看了题解 意思很简单,就是n!的各个位置上a出现的次数 然后看完题解意外得知了要高精*单精 本着我命由我不由天的原则还是long long试了一下…

异想之旅的博客 838

洛谷P1591题解

求n!中某个数码出现的次数。

m0_57317650的博客 523

P2089 烤鸡

P2089 烤鸡

青少年趣味编程 217

P1091 [NOIP2004 提高组] 合唱队形

P1091 [NOIP2004 提高组] 合唱队形

青少年趣味编程 158

洛谷《深入浅出基础篇》题解-2(C语言)

洛谷题单深入浅出基础篇,算法1-1至1-7部分

W________11的博客 202

P1591 阶乘数码 (高精阶乘)

题目描述 求n!中某个数码出现的次数。 输入格式 第一行为t(≤10),表示数据组数。接下来t行,每行一个正整数n(≤1000)和数码a。 输出格式 对于每组数据,输出一个整数,表示n!中a出现的次数。 输入输出样例 输入 #1 2 5 2 7 0 输出 #1 1 2 原题:https://www.luogu.com.cn/problem/P1591 高精阶乘...

Melonl的博客 896

P1591 阶乘数码(Java高精度)

求n!中某个数码出现的次数。

jungleirim的博客 440
上一篇: 洛谷 P1102 A-B 数对 题解
下一篇: UVA10382 - Watering Grass 题解
ucTms
博客等级 码龄7年 10粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值