中石油第二阶段我要变强个人训练赛第十六场G题缘分

本文介绍了一个简单的算法问题,通过计算两个正整数的最小公倍数来象征缘分的大小。对于给定的正整数n,求解1到n之间任意两数的最小公倍数的最大值,并给出了一段实现该功能的C++代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目描述

世间万物都置身于缘分编织的大网中。缘分未到,虽历经千劫,却不能相遇。缘分到了,在草原上都能等到一艘船。——《一禅小和尚》
一禅希望知道他和师父之间的缘分大小。可是如何才能知道呢?
一禅想了个办法,他先和师父约定一个正整数 ,接着他们各自在心里想一个不超过 的正整数。
一禅认为,他和师父心里想的这两个数的最小公倍数越大,则意味着他和师父之间的缘分越大。
师父觉得这个办法很合适,不过他想知道这两个数的最小公倍数最大会是多少。
师父的数学不太好,于是问一禅。一禅也觉得这个问题很困难,他希望你能告诉他答案。

输入
本题有多组数据。
第一行一个正整数T,表示数据组数。
接下来的T行,每行一个正整数n,表示一禅和师父约定的正整数。

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

样例输入

1
3

样例输出

6

提示
不超过3的两个正整数的最小公倍数的最大值为lcm(2,3)=6。
对50%的数据,1≤T,n≤100。
对100%的数据,1≤T≤100,1≤n≤109。

题目解读:签到题。多组输入,在1-n的范围内求两个正整数的最小公倍数的最大值。即求n*(n-1),要注意n==1要特判

AC代码:

 #include<iostream> 
 using namespace std;
 int main()
 {     int t; 	
       long n;  	
       cin>>t; 	
       for(int i=1;i<=t;i++) 
       { 		
           cin>>n; 		
           if(n!=1)
	          cout<<n*(n-1)<<endl;
 	        else
 	          cout<<1<<endl;//n==1特判
        } 	
    return 0;
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值