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 ;
}

最新文章

  1. (转)CVPR 2016 Visual Tracking Paper Review
  2. 十个Flex/Air疑难杂症及解决方案简略
  3. Android记录11-控制ExpandableListView展开和关闭
  4. 堆Heap
  5. 网络编程之UDP协议
  6. WebResource.axd文件的配置和使用
  7. javascript笔记整理(变量作用域)
  8. java从入门到卖肠粉系列
  9. Apache许可翻译
  10. NotePad++ 正则表达式替换 高级用法 [转]
  11. java equals 和 == 的区别
  12. hdu5751 Eades
  13. SQL盲注学习
  14. 谷歌浏览器可以google了
  15. 常见js面试题
  16. Powershell测试端口状态
  17. c++入门之—运算符重载和友元函数
  18. DOM节点左右移动
  19. vue-if和v-show区别
  20. Mybatis 系列4-结合源码解析节点:typeAliases

热门文章

  1. javascript 垃圾回收机制和内存管理
  2. 三种TCP协议聊天室实现
  3. 请问IOS中做一个手机网站的app壳复杂吗?
  4. 1.volatile关键字 内存可见性
  5. ASE —— 第二次结对作业
  6. 爬虫如何发现更多的url呢,怎么动态收集新的url连接
  7. Kinect for Windows SDK开发入门(四):景深数据处理 上
  8. Python借助argv和input()制作命令行工具
  9. CSRF防御
  10. C# 截图不失真