【数论】X-因子链(factor)
发布日期:2021-05-07 22:46:29 浏览次数:22 分类:精选文章

本文共 731 字,大约阅读时间需要 2 分钟。

题目描述

给一个正整数X,一个长度为m的X-因子链是指这样一个序列:X0=1,X1,X2,。。。,Xm=X满足:Xi<Xi+1同时Xi|Xi+1(Xi+1能把Xi整除)

要求X-因子链的最大长度Len和长度为Len的X-因子链的数量。

输入

一个正整数X

输出

一行,两个整数,分别表示最大长度和该长度链的种数。

输入样例

100

输出样例

4 6


分解质因数。然后预处理阶乘,即质因数的全排列,再将重复的质因数的排列去除。


代码

#include
long long X,t,sum[1000001],s,jc[1000001],ans;int main(){ scanf("%lld", &X); for(long long i = 2; i * i <= X; ++i) if(X % i == 0){ ++t; while(X % i == 0){ ++sum[t]; X /= i; } s = s+sum[t]; } if(X > 1) { ++sum[++t]; ++s; X = 1; } jc[0] = 1; for(long long i = 1; i <= s; ++i) jc[i] = jc[i-1] * i; ans = jc[s]; for(long long i = 1; i <= t; ++i) ans /= jc[sum[i]]; printf("%lld %lld",s,ans);}
上一篇:【思路】【暴力】WING
下一篇:【DFS】【暴力】【最小正环】开心小屋(smile)

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月17日 10时24分30秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章