`
xxx0624
  • 浏览: 31717 次
文章分类
社区版块
存档分类
最新评论

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\n",ans[n]);
	}
	return 0;
}


分享到:
评论

相关推荐

    POJ1321-Chess Problem

    从题目名称和一般编程竞赛的规律来看,"Chess Problem"可能需要参赛者设计一个算法来解决特定的棋类问题。例如,可能涉及到以下知识点: 1. **二分图匹配**:如果棋盘上的每个位置可以看作图的一个节点,而不同位置...

    POJ2635-The Embarrassed Cryptographer 测试数据

    通常,这类问题要求参赛者编写程序来分析或解密给定的输入数据,找出隐藏的模式或规律,从而解决加密问题。测试数据是评估程序正确性的重要依据,它包含各种可能的输入情况,包括边界条件、正常情况和异常情况,以...

    poj 百练 题目分类

    模拟是指难以找到公式或规律来解决,只能按照一定步骤,不停地做下去,最后才能得到答案。在 POJ 百练 题目分类中,模拟类题目包括约瑟夫问题(2746)、花生问题(2950)、显示器(2745)、排列(1833)、宇航员...

    POJ题目分类

    - **概率论**:研究随机现象的规律性。 #### 2. 数论 - **内容**: 包括素数判定、欧拉函数等问题。 - **示例题目**: poj2635, poj3292, poj1845, poj2115 - **知识点**: - **素数判定**:判断一个数是否为素数。...

    poj1088和1091

    POJ1091跳蚤,则引导他们深入数论的海洋,学会在纷繁的数学关系中寻找规律。尽管代码初稿可能略显粗糙,但正是通过解决这些问题,初学者的算法设计能力得以增强,逻辑思维也变得更加敏锐。 然而,对于任何一位希望...

    poj1789.zip_history

    在解决这个问题时,可能需要从历史数据中提取模式、趋势或规律,以优化当前的决策。 【压缩包子文件的文件名称列表】"poj1789.cpp" 这是包含解决方案的源代码文件,很可能是一个C++程序,用于实现对问题1789的求解...

    POJ3094-Quicksum

    3. **动态规划**:在某些情况下,如果求和过程中存在一定的规律,可以采用动态规划的方法存储和重用中间结果,降低时间复杂度。 4. **哈希函数/数据结构**:如果求和涉及到大量重复计算,可以利用哈希表来存储部分...

    POJ是在线测评系统这里有一些经典试题。跳蚤是一道经典试题代码给出了Accepted算法.zip

    标题中的“POJ”指的是 Programming Online Judge,这是一个著名的在线编程竞赛平台,主要针对C、C++和Java等语言,提供了一系列的编程题目供用户在线提交代码并进行测试。"跳蚤"是POJ中的一道具体问题,这个问题...

    poj 第九季 第十季

    Dexter need help;Checksum algorithm;Graveyard;Hanoi II;Houseboat;Sum of Consecutive;Arithmetic Progressions;...寻找规律;公园喷水器;阶乘合计;不屈的小蜗;Hailstone;The Ratio of gainers to losers

    北大acm1740题解题报告

    这道题目是来自北京大学ACM竞赛的一道问题,题目编号为POJ 1740,名为"A New Stone Game"。游戏规则如下:两位玩家,Alice和Bob,轮流从一排包含n个石堆中选择一个石堆并移除至少一个石子,然后可以把移除的石子任意...

    递推与组合数学相关题解1

    最后是POJ1496,题目要求找出字符串在升序字典中的位置,实际上是在计算字符串在字母顺序排列中的排名。对于这个问题,需要了解字母的编码规则,并通过排序和累加计算来确定位置。 综上所述,这些题目体现了组合...

    POJ 1852 Ants 简单的弹性碰撞问题

    在计算机科学和算法领域,POJ 1852 Ants是一个经典的题目,它不仅考验着程序员对算法的理解,还要求他们能够灵活运用数据结构和基本的编程技巧。此题目的核心是一个关于蚂蚁在木棍上爬行的物理模拟问题,但它实际上...

    其余数学类题目题解1

    - 此题要求找出数字串中特定位置上的数字,需要理解每个数字出现的规律。可以预先计算每个位置的数字出现次数,然后通过双层查询定位到目标数字。 6. **POJ3210** - 最少翻转硬币问题 - 这是一个经典的博弈论问题...

    线段树题目

    - **POJ 2892**:与POJ 3667类似,但需要找出最大连续区间。 - **BZOJ 1230** 和 **HDU 3911**:这些题目涉及到区间异或操作。在设计线段树时,需要确保能够支持区间异或查询和更新操作,并且还要能够求解区间内...

    集训全6套练习题-3月23日练习题

    解题的关键在于理解每次变换后0和1的规律,然后通过动态规划的方法来构建状态转移方程,存储每个位置的连续0对数,最终得到答案。 2. **Gone Fishing (POJ1042)** 这是一个经典的动态规划问题,要求找到钓鱼行程的...

    程序设计实习讲义5.ppt

    6. **逻辑推理**:在枚举过程中,运用逻辑推理简化问题,如例2中根据按钮影响范围的规律推导出熄灯策略。 以上就是程序设计实习讲义5.ppt中关于枚举方法及其应用的详细解析,这些知识在实际编程问题解决中非常有用...

    c语言编程算法经典100例

    - 程序分析:这是一个典型的Fibonacci数列问题,数列规律为1, 1, 2, 3, 5, 8, 13, 21...,即每一项是前两项之和。 - 程序实现:使用两个变量`f1`和`f2`分别存储前两个月的兔子数量,通过循环计算每个月的兔子总数...

    寻找必败态——博弈问题的快速解法

    在博弈论中,必败态的寻找是解决某些特定类型博弈问题的关键。这类问题通常表现为两人轮流...在这种情况下,通过归纳、猜想和证明的方法,来推导出必败态的规律,并利用这些规律制定策略,是解决这类问题的有效途径。

    数学与ACM.pdf

    - **应用场景**:如POJ1201中的区间问题,要求找出一个整数集合,使其与每个给定区间的交集元素数量至少为给定的阈值。 ##### 3. 快速傅里叶变换(FFT) 快速傅里叶变换是一种高效的多项式乘法算法,常用于处理...

    北京大学pku——acm一些题的详解

    10. **在线评测系统**:如POJ、HDU等平台提供了ACM题目的在线提交和评测服务,选手可以在这里提交代码并获取反馈,有助于不断改进解决方案。 北京大学ACM题解文档正是为了帮助参赛者掌握这些知识点,通过实例解析,...

Global site tag (gtag.js) - Google Analytics