1628:X-factor Chain
2024-10-06 15:34:37
1628:X-factor Chain
时间限制: 1000 ms 内存限制: 524288 KB
提交数: 122 通过数: 68
【题目描述】
原题来自 POJ 3421
输入正整数 x
,求 x 的大于 1
的因子组成的满足任意前一项都能整除后一项的序列的最大长度,以及满足最大长度的序列的个数。
【输入】
多组数据,每组数据一行,包含一个正整数 x
。
【输出】
对于每组数据,输出序列的最大长度以及满足最大长度的序列的个数。
【输入样例】
2
3
4
10
100
【输出样例】
1 1
1 1
2 1
2 2
4 6
【提示】
数据范围与提示:
对于全部数据,1≤x≤220
。
如果我没有搞错的话,这道题应该算得上是结论题?挺简单的
序列长度就是该数的每一个质因子的次幂之和(稍微想想就能明白),而排列总数就是组合数学中的不全相异元素的排列。
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int N=;
ll n,jc[N+]={};
inline void solve(int x)
{
ll ans=,cnt,k=;
for(ll i=;i*i<=x;i++)
{
if(x%i==)
{
cnt=;
while(x%i==)
{
cnt++;
x/=i;
}ans+=cnt;
k*=jc[cnt];
} }
if(x>) ans++;
printf("%lld %lld\n",ans,jc[ans]/k);
}
int main()
{
for(int i=;i<=N;i++)
jc[i]=jc[i-]*i;
while(~scanf("%d",&n))
{
solve(n);
}
return ;
}
最新文章
- (转)CVPR 2016 Visual Tracking Paper Review
- 十个Flex/Air疑难杂症及解决方案简略
- Android记录11-控制ExpandableListView展开和关闭
- 堆Heap
- 网络编程之UDP协议
- WebResource.axd文件的配置和使用
- javascript笔记整理(变量作用域)
- java从入门到卖肠粉系列
- Apache许可翻译
- NotePad++ 正则表达式替换 高级用法 [转]
- java equals 和 == 的区别
- hdu5751 Eades
- SQL盲注学习
- 谷歌浏览器可以google了
- 常见js面试题
- Powershell测试端口状态
- c++入门之—运算符重载和友元函数
- DOM节点左右移动
- vue-if和v-show区别
- Mybatis 系列4-结合源码解析节点:typeAliases