博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj 3421 X-factor Chains
阅读量:6246 次
发布时间:2019-06-22

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

给定一个数X.

1=X0, X1, X2.....Xm = X 是X的因数

求一串因数,要求Xi | Xi+1,即上一个因数能整除下一个因数,

问这条串就的最长长度,和有多少条这样长度的串.

X = p1^a1 * p2^a2 ... pn^an

 Xi = p1^b2 * p2^b2 ...pk^bk... pn^bn,

Xi+1 = p1^b2 * p2^b2 ...pk^(bk)... pn^bn,

 要使length最长,只要从1开始,每次只乘以X的一个质因数即可,即length = (a1+a2+...an)

而方法数就是X的质因数的重排列数,way = (a1+a2+...an)!/(a1!a2!...an!)

View Code
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define LL long longusing namespace std;int prime[90000],cnt=0;bool hash[550024]={ 0};void Prime( ){ int t1 = 1 << 10,t2=1<<20; for( int i = 3 ; i <= t1; i += 2 ) { if( !hash[i>>1] ) { int x = i << 1; for( int j = i * i ; j <= t2 ; j += x ) hash[j>>1] = true; } } prime[cnt++] = 2; t1 = 1 << 19; for( int i = 1 ; i <= t1; i ++ ) { if( !hash[i] ) { prime[cnt++] = i<<1|1; } }}LL A( int n ){ LL ans = 1; while( n ) { ans *= n; n--; } return ans; }void Solve( int n ){ int num[24]={ 0},count=0,len=0; for( int i = 0; i < cnt; i ++ ) { if( prime[i] > n ) break; if( n % prime[i] == 0 ) { while( n % prime[i] == 0 ) { num[count]++; n /= prime[i]; } len += num[count]; count++; } } LL ans = A( len ); for( int i = 0 ; i < count ; i ++ ) ans /= A( num[i] ); printf( "%d %I64d\n",len,ans ); }int main( ){ int n; Prime(); while( scanf( "%d",&n )==1 ) { Solve( n ); } //system( "pause" ); return 0;}

转载于:https://www.cnblogs.com/bo-tao/archive/2012/08/12/2635494.html

你可能感兴趣的文章
Windows Sharepoint services 3.0部署体验
查看>>
[分享] Mac 键盘和Pc键盘对照表
查看>>
windows下批量杀死进程
查看>>
第七章:面向对象(三)
查看>>
android-ripple-background
查看>>
我的友情链接
查看>>
编译安装Apache服务要点
查看>>
Arrays.copy()和ArrayList.clone()
查看>>
mosquitto安装、配置、测试、paho.mqtt-spy安装
查看>>
我的友情链接
查看>>
Eclispe 安装插件 Properties Editor
查看>>
ReactiveCocoa RACDelegateProxy
查看>>
网站架构案例精解
查看>>
iOS提示框,为什么你应该使用 MBProgressHUD?
查看>>
思科GLC-T、GLC-TE与SFP-GE-T电模块的区别
查看>>
Spring AOP 的 afterReturing 为什么不能改变返回值
查看>>
在Oracle RAC环境下创建数据库时提示不能验证ASMSNMP密码问题的解决(ORA-01017)
查看>>
集中管理:领导者,不能不考虑的几件事之—— 多维管理视角,一个都不能少...
查看>>
解决Jquery load()加载GB2312页面时出现乱码的两种方案
查看>>
js数组转json并在后台对其解析具体实现
查看>>