
AcWing 1295. X的因子链 理解
发布日期:2021-05-12 17:10:49
浏览次数:16
分类:精选文章
本文共 1020 字,大约阅读时间需要 3 分钟。
输入正整数 X,求 X 的大于 1 的因子组成的满足任意前一项都能整除后一项的严格递增序列的最大长度,以及满足最大长度的序列的个数。
输入格式
输入包含多组数据,每组数据占一行,包含一个正整数表示 X。输出格式
对于每组数据,输出序列的最大长度以及满足最大长度的序列的个数。每个结果占一行。
数据范围
1≤X≤220 输入样例:23410100
输出样例:
1 11 12 12 24 6
这道题其实我刚开始一直没有理解明白,后来仔细看了y总的视频,发现其实语句的错误让我对这题产生了误解——(任意前一项都能整除后一项的严格递增序列)
这句话应该改成任意后一项都能整除前一项的严格递增序列。
然后这样去理解就很轻松了,我觉得y总的方法确实很麻烦,在理解题意的基础上其实我明白序列的长度是质因子的个数,然后我们序列的种类是Cx1n1+Cx2n2+Cx3n3+Cx4n4+Cx5n5+Cx6n6
然后我们开始写一下代码。
res是质因数的个数,ans是res的阶乘,然后cnt是每个质因数的阶乘。 最终实现这个式子 Cx1n1+Cx2n2+Cx3n3+Cx4n4+Cx5n5+……+Cxnxn代码如下:
#includeusing namespace std;const int N=1e5+10;int main(void){ int n; int cnt=0; while(~scanf("%d",&n)) { int res=0;//质因数的个数 int t=n; long long cnt=1,ans=1; for(int i=2;i<=n/i;i++) { int d=0; while(n%i==0) { d++; n/=i; cnt*=d; } res+=d; } if(n>1) res++; for(int i=1;i<=res;i++) ans*=i; cout< <<" "<
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2025年05月02日 12时20分18秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
centos7一步一步搭建docker jenkins 及自定义访问路径重点讲解
2021-05-09
【Flink】Flink 底层RPC框架分析
2021-05-09
MySQL错误日志(Error Log)
2021-05-09
解决:angularjs radio默认选中失效问题
2021-05-09
windows环境下安装zookeeper(仅本地使用)
2021-05-09
缓冲区溢出实例(一)--Windows
2021-05-09
Python中字符串前添加r ,b, u, f前缀的含义
2021-05-09
Hadoop学习笔记—Yarn
2021-05-09
JSONPath小试牛刀之Snack3
2021-05-09
Jenkins - 部署在Tomcat容器里的Jenkins,提示“反向代理设置有误”
2021-05-09
wxWidgets源码分析(3) - 消息映射表
2021-05-09
wxWidgets源码分析(5) - 窗口管理
2021-05-09
wxWidgets源码分析(7) - 窗口尺寸
2021-05-09
wxWidgets源码分析(8) - MVC架构
2021-05-09
wxWidgets源码分析(9) - wxString
2021-05-09
Mybatis Generator最完整配置详解
2021-05-09
[白话解析] 深入浅出熵的概念 & 决策树之ID3算法
2021-05-09
[梁山好汉说IT] 梁山好汉和抢劫银行
2021-05-09
[源码解析] 消息队列 Kombu 之 基本架构
2021-05-09
[源码分析] 消息队列 Kombu 之 启动过程
2021-05-09