zoukankan      html  css  js  c++  java
  • POJ3307+找规律

    /*
    题意:求第N个productivity property数是谁。
    (productivity property数:就是这个数可以由另外的数的各个位上的乘积得到。)
    */
    #include<stdio.h>
    #include<string.h>
    #include<stdlib.h>
    #include<algorithm>
    #include<iostream>
    #include<queue>
    #include<map>
    #include<stack>
    #include<set>
    #include<math.h>
    using namespace std;
    typedef long long int64;
    //typedef __int64 int64;
    typedef pair<int64,int64> PII;
    #define MP(a,b) make_pair((a),(b)) 
    const int maxn = 10000005;
    const int64 M = 1e18;
    const int inf = 0x7fffffff;
    const double pi=acos(-1.0);
    const double eps = 1e-8;
    
    int64 ans[ maxn+5 ];
    
    int64 fmin( int64 a,int64 b,int64 c,int64 d ){
    	if( a>b ) a = b;
    	if( a>c ) a = c;
    	if( a>d ) a = d;
    	return a;
    }
    
    void init(){
    	//memset( ans,0,sizeof( ans ) );
    	ans[ 1 ] = 1;
    	int cnt2 = 1,cnt3 = 1,cnt5 = 1,cnt7 = 1;
    	for( int i=2;i<maxn;i++ ){
    		ans[i] = fmin( ans[cnt2]*2,ans[cnt3]*3,ans[cnt5]*5,ans[cnt7]*7 );
    		if( ans[i]==ans[cnt2]*2 ) cnt2 ++;
    		if( ans[i]==ans[cnt3]*3 ) cnt3 ++;
    		if( ans[i]==ans[cnt5]*5 ) cnt5 ++;
    		if( ans[i]==ans[cnt7]*7 ) cnt7 ++;
    		if( ans[i]>M ) break;
    	}
    }
    
    int main(){
    	init();
    	int T;
    	scanf("%d",&T);
    	while( T-- ){
    		int n;
    		scanf("%d",&n);
    		printf("%lld
    ",ans[n]);
    	}
    	return 0;
    }



  • 相关阅读:
    安装mysql apache php smb
    解决IE8placeholder属性问题
    将博客搬至CSDN
    shell脚本获取配置文件中的内容
    shell sed指令全解
    salt一键部署hive
    salt一键部署habse
    salt一键部署kafka
    salt一键部署elasticsearch
    salt一键部署mysql
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3285589.html
Copyright © 2011-2022 走看看