P5436 【XR-2】缘分

题目背景

世间万物都置身于缘分编织的大网中。缘分未到,虽历经千劫,却不能相遇。缘分到了,在草原上都能等到一艘船。——《一禅小和尚》

题目描述

一禅希望知道他和师父之间的缘分大小。可是如何才能知道呢?

一禅想了个办法,他先和师父约定一个正整数 \(n\),接着他们各自在心里想一个不超过 \(n\) 的正整数。

一禅认为,他和师父心里想的这两个数的最小公倍数越大,则意味着他和师父之间的缘分越大。

师父觉得这个办法很合适,不过他想知道这两个数的最小公倍数最大会是多少。

师父的数学不太好,于是问一禅。一禅也觉得这个问题很困难,他希望你能告诉他答案。

输入格式

本题有多组数据。

第一行一个正整数 $T,表示数据组数。

接下来的 \(T\) 行,每行一个正整数 \(n\),表示一禅和师父约定的正整数。

输出格式

对每组数据,一行一个正整数,表示答案。

输入输出样例

输入 #1

1

3

输出 #1

6

说明/提示

【样例 1 说明】

不超过 3 的两个正整数的最小公倍数的最大值为 \(\mathrm{lcm}(2,3) = 6\)。

【数据规模与约定】

对 \(50\%\) 的数据,\(1 \le T,n \le 100\)。

对 \(100\%\) 的数据,\(1 \le T \le 100, 1 \le n \le 10^9\)。

【思路】

数学基础

一道很有意思的题目

找规律 + 有点贪心思想

因为这个需要找范围内两个数最大最小公倍数

所以很容易想什么暴力的手法或者

lcm(x,y) = xy / gcd(x,y)

等等的方法

但是在想这些方法的时候很容易忽略掉了最最最简单的方法

但却是很优的方法

你如果想的是前面的方法那么100%的数据很难过掉

但是

可以想一下

因为两个互质的数的最小公倍数是两个数相乘

这样是会让最小公倍数最大化

因为如果不互质的话

需要乘起来之后再去除以gcd

因为毕竟不是最小的还可以约分

所以互质的数一般是会比差不多大小的一对数更优的

所以尽量选取互质的数

而相邻的两个数一定是互质的

所以找两个相邻的数

这两个相邻的数越大乘出来的数就越大

所以选择n和n-1就是最优的这个时候输出n * (n - 1)就行了

完全没必要那么麻烦

注意要开long long !!!!

【完整代码】

#include<iostream>
#include<cstdio> using namespace std; int main()
{
int T;
cin >> T;
long long n;
for(int i = 1;i <= T;++ i)
{
cin >> n;
if(n == 1)
cout << 1 << endl;
else
cout << n * (n - 1) << endl;
}
return 0;
}

洛谷 P5436 【XR-2】缘分 题解的更多相关文章

  1. 洛谷P1783 海滩防御 分析+题解代码

    洛谷P1783 海滩防御 分析+题解代码 题目描述: WLP同学最近迷上了一款网络联机对战游戏(终于知道为毛JOHNKRAM每天刷洛谷效率那么低了),但是他却为了这个游戏很苦恼,因为他在海边的造船厂和 ...

  2. 洛谷P4047 [JSOI2010]部落划分题解

    洛谷P4047 [JSOI2010]部落划分题解 题目描述 聪聪研究发现,荒岛野人总是过着群居的生活,但是,并不是整个荒岛上的所有野人都属于同一个部落,野人们总是拉帮结派形成属于自己的部落,不同的部落 ...

  3. 洛谷P1155 双栈排序题解(图论模型转换+二分图染色+栈)

    洛谷P1155 双栈排序题解(图论模型转换+二分图染色+栈) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1311990 原题地址:洛谷P1155 双栈排序 ...

  4. 洛谷10月月赛II题解

    [咻咻咻] (https://www.luogu.org/contestnew/show/11616) 令人窒息的洛谷月赛,即将参加NOIp的我竟然只会一道题(也可以说一道也不会),最终145的我只能 ...

  5. [洛谷P1823]音乐会的等待 题解(单调栈)

    [洛谷P1823]音乐会的等待 Description N个人正在排队进入一个音乐会.人们等得很无聊,于是他们开始转来转去,想在队伍里寻找自己的熟人.队列中任意两个人A和B,如果他们是相邻或他们之间没 ...

  6. BZOJ2527 & 洛谷3527:[Poi2011]Meteors——题解

    +++++++++++++++++++++++++++++++++++++++++++ +本文作者:luyouqi233. + +欢迎访问我的博客:http://www.cnblogs.com/luy ...

  7. 洛谷 p1516 青蛙的约会 题解

    dalao们真是太强了,吊打我无名蒟蒻 我连题解都看不懂,在此篇题解中,我尽量用语言描述,不用公式推导(dalao喜欢看公式的话绕道,这篇题解留给像我一样弱的) 进入正题 如果不会扩展欧里几德的话请先 ...

  8. 洛谷p2370yyy2015c01的U盘题解

    没什么特殊的想法 就是看自己很久没有更新关于题解类的文章了而已 (其实这是我好久之前做的, 只是把它从洛谷博客搬到了这里而已) 题目 首先分析题目要二分 他长成这个亚子太二分了 所以就要二分 最好是先 ...

  9. 2019.06.17课件:[洛谷P1310]表达式的值 题解

    P1310 表达式的值 题目描述 给你一个带括号的布尔表达式,其中+表示或操作|,*表示与操作&,先算*再算+.但是待操作的数字(布尔值)不输入. 求能使最终整个式子的值为0的方案数. 题外话 ...

  10. 洛谷P1310 表达式的值 题解 栈/后缀表达式的应用

    题目链接:https://www.luogu.org/problem/P1310 本题涉及算法:栈.前缀表达式转后缀表达式,动态规划思想. 这道题目我思考了好长时间,第一时间让我做的话我也做不出来. ...

随机推荐

  1. JDK并发的类

    Future : 提前完成任务 原理:wait(),notify()的使用. 线程之间的通信 : CountDownLatch :线程计数 CyclicBarrier :循环计数 Semaphore ...

  2. vue使用基础

    1. 首先下载node.js安装 下载地址:https://nodejs.org/en/download/ 2. 安装vue脚手架 在cmd命令里面输入 npm install -g @vue/cli ...

  3. 【题解】Luogu P4838 P哥破解密码

    原题传送门 考虑一个一个将字母加入字符串后面 设\(f[i][0/1/2]\)表示长度为\(i\)字符串末尾有\(0/1/2\)个A的种类数 易知: \(f[1][0]=1,f[1][1]=1,f[1 ...

  4. JDK8-lambda表达式以及接口可以定义默认方法

    一.Lambda表达式 1.Lamdba Lambda 允许把函数作为一个方法的参数,使用Lamdba可以让开发的代码更加简洁,但是易读性差,新人不了解Lamdba表达式或者代码功底有点差,不容易读懂 ...

  5. SQL Server 截取日期部分字符

    select GetDate() --用DateName()就可以获得相应的年.月.日 Select Datename(year,GetDate())+'-'+Datename (month,GetD ...

  6. Sqlite in flutter, how database assets work

    First off, you will need to construct a sqlite database from your csv. This can be done in the follo ...

  7. Django:ORM介绍

    1.ORM概念 ​ 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. ​ 简单的说,ORM是通过使用描述 ...

  8. centOS学习part6:安装oracle 11g

    0 大家好.上一章(http://www.cnblogs.com/souvenir/p/3881484.html)我们对oracle在centOS下的安装进行了各项环境准备,本章我们将正式进行oral ...

  9. 小米5s plus刷机

    1. 先去这里解锁 .http://www.miui.com/unlock/done.html 2.再去开发者选项里面,将手机账号和解锁手机绑定. 3.使用解锁工具解锁 4.下载安装奇兔刷机 http ...

  10. Linux将用户添加到组的指令

    原文:https://blog.csdn.net/youmatterhsp/article/details/80549683:           https://www.cnblogs.com/cl ...