首页 > 其他分享 >51nod-1434 区间LCM

51nod-1434 区间LCM

时间:2023-06-12 18:02:05浏览次数:62  
标签:1434 LCM 示例 51nod int maxn Input include


原题链接



1434 区间LCM



题目来源:  TopCoder


基准时间限制:1 秒 空间限制:131072 KB 分值: 40  难度:4级算法题



 收藏

 关注

例如,LCM(2)=2,LCM(4,6)=12,LCM(1,2,3,4,5)=60。


现在给定一个整数N(1<=N<=1000000),需要找到一个整数M,满足M>N,同时LCM(1,2,3,4,...,N-1,N) 整除 LCM(N+1,N+2,....,M-1,M),即LCM(N+1,N+2,....,M-1,M)是LCM(1,2,3,4,...,N-1,N) 的倍数.求最小的M值。


Input


多组测试数据,第一行一个整数T,表示测试数据数量,1<=T<=5每组测试数据有相同的结构构成:每组数据一行一个整数N,1<=N<=1000000。


Output


每组数据一行输出,即M的最小值。


Input示例


3123


Output示例


246


只要1到n中每个质因子的指数最高次,在n+1, m中也出现即可


#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <vector>
#define maxn 1000000
using namespace std;
typedef long long ll;

int cnt;
int prime[maxn+5], p[maxn+5];
void Prime(){
	
	for(int i = 2; i <= maxn; i++){
		if(prime[i] == 0){
			p[cnt++] = i;
			for(ll j = (ll)i * i; j <= maxn; j += i){
				prime[j] = 1;
			}
		}
	}
}
int main(){
	
//	freopen("in.txt", "r", stdin);
	int t;
	Prime();
	scanf("%d", &t);
	while(t--){
		ll n;
		scanf("%I64d", &n);
		int ans = 2;
		for(int i = 0; i < cnt && p[i] <= n; i++){
			ll sum = 1;
			while(sum * p[i] <= n)
			 sum *= p[i];
			ans = max((ll)ans, (n / sum + 1) * sum);
		}
		printf("%d\n", ans);
	} 
	return 0;
}




标签:1434,LCM,示例,51nod,int,maxn,Input,include
From: https://blog.51cto.com/u_16158872/6464599

相关文章

  • 51nod-1624 取余最长路
    原题链接1624 取余最长路基准时间限制:1 秒空间限制:131072 KB分值: 40 难度:4级算法题 收藏 关注佳佳有一个n*m的带权矩阵,她想从(1,1)出发走到(n,m)且只能往右往下移动,她能得到的娱乐值为所经过的位置的权的总和。有一天,她被下了恶......
  • 51nod-1191 消灭兔子
    原题链接1191 消灭兔子题目来源: 2013腾讯马拉松赛第三场基准时间限制:1 秒空间限制:131072 KB分值: 40 难度:4级算法题 收藏 关注有N只兔子,每只有一个血量B[i],需要用箭杀死免子。有M种不同类型的箭可以选择,每种箭......
  • 51nod-1158 全是1的最大子矩阵(单调栈)
    原题链接1158 全是1的最大子矩阵基准时间限制:1 秒空间限制:131072 KB分值: 80 难度:5级算法题 收藏 关注Input第1行:2个数m,n中间用空格分隔(2 <= m,n <= 500)第2 - N + 1行:每行m个数,中间用空格分隔,均为0或1。......
  • Sum of MSLCM 题解
    SumofMSLCM题目大意定义\(\text{MSLCM}(n)\)为所有满足该数集的\(\text{lcm}\)为\(n\)的数集中元素个数最多的数集的所有数字的和,现有多次询问,求\[\sum_{i=2}^n\text{MSLCM}(i)\]思路分析大水题。虽然看着这个东西很可怕,但仔细一想你就会发现,其实\(\text{MSLCM}(n)......
  • 动态规划基础之矩阵取数问题 51nod1083
    题目地址:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1083题目:1083 矩阵取数问题基准时间限制:1 秒空间限制:131072 KB分值: 5 难度:1级算法题例如:3*3的方格。133213221......
  • 51nod 1298 圆与三角形(基础题,计算几何)
    题目链接:点击打开链接1298 圆与三角形题目来源: HackerRank基准时间限制:1 秒空间限制:131072 KB分值: 0 难度:基础给出圆的圆心和半径,以及三角形的三个顶点,问圆同三角形是否相交。相交输出"Yes",否则输出"No"。(三角形的面积大于0)。Inp......
  • 最大子矩阵和问题 动态规划 51nod1051
    1051 最大子矩阵和基准时间限制:2 秒空间限制:131072 KB分值: 40 难度:4级算法题例如:3*3的矩阵:-13-12-13-312和最大的子矩阵是:3-1-1312Input......
  • LCM from 1 to n
    题目:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=26999题意:给定一个正整数n,求的值,输入数据有10000组,每组一个数n,1<=n<=10^8。分析:定义为1,2,3,...,n的最小公倍数。则可以发现有如下结论:所以有:那么,我们先把所有素数的连乘预处理出来,然后再对每一个素数的整数次幂......
  • 51nod---无法表示的数
    题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1176题意:z=(x/2)取整后+y+xy,x,y都是大于0的整数。即:x,y取不同的数,z可能有多种表示方式,也可能一种都没有,比如3,15就无法用任何x,y来表示。现在将所有无法表示的数排个序,组成一个序列S,给出一个整数n,你来求S[n......
  • 2022.11.23 51nod 图论专场?
    A反转Dag图:题面给出一个\(n\)个点\(m\)条边的有向图,顶点编号\(1\)到\(n\),边的编号为\(1\)到\(m\)。你可以选择一些边进行反转(即从\(u\)到\(v\)的边反转后变为从\(v\)到\(u\)的边),将每条边反转都需要一定代价。最终使得整个图变成一个\(Dag\)图。总的反......