hdu 4627 The Unsolvable Problem(暴力的搜索)
2016-01-25 18:41
429 查看
[align=left]Problem Description[/align]
There are many unsolvable problem in the world.It could be about one or about zero.But this time it is about bigger number. Given an integer n(2 <= n <= 109).We should find a pair of positive integer a, b so that a + b = n and [a, b] is as large as possible. [a, b] denote the least common multiplier of a, b.
[align=left]Input[/align]
The first line contains integer T(1<= T<= 10000),denote the number of the test cases. For each test cases,the first line contains an integer n.
[align=left]Output[/align]
For each test cases,print the maximum [a,b] in a line.
[align=left]Sample Input[/align]
3 2 3 4
[align=left]Sample Output[/align]
1 2 3
[align=left]Author[/align]
WJMZBMR
[align=left]Source[/align]
2013 Multi-University Training Contest 3
题意:给定一个数n,要求是找到一对数a、b,使得a+b=n,且a和b的最小公倍数要最大,求最大的最小公倍数。
思路:直接暴力查询,找出最大的值。具体看代码。时间复杂度是O(n),并不会超时。注意要用long long,会爆int。
View Code
There are many unsolvable problem in the world.It could be about one or about zero.But this time it is about bigger number. Given an integer n(2 <= n <= 109).We should find a pair of positive integer a, b so that a + b = n and [a, b] is as large as possible. [a, b] denote the least common multiplier of a, b.
[align=left]Input[/align]
The first line contains integer T(1<= T<= 10000),denote the number of the test cases. For each test cases,the first line contains an integer n.
[align=left]Output[/align]
For each test cases,print the maximum [a,b] in a line.
[align=left]Sample Input[/align]
3 2 3 4
[align=left]Sample Output[/align]
1 2 3
[align=left]Author[/align]
WJMZBMR
[align=left]Source[/align]
2013 Multi-University Training Contest 3
题意:给定一个数n,要求是找到一对数a、b,使得a+b=n,且a和b的最小公倍数要最大,求最大的最小公倍数。
思路:直接暴力查询,找出最大的值。具体看代码。时间复杂度是O(n),并不会超时。注意要用long long,会爆int。
#pragma comment(linker, "/STACK:1024000000,1024000000") #include<iostream> #include<cstdio> #include<cstring> #include<cmath> #include<math.h> #include<algorithm> #include<queue> #include<set> #include<bitset> #include<map> #include<vector> #include<stdlib.h> using namespace std; #define ll long long #define eps 1e-10 #define MOD 1000000007 #define N 1000000 #define inf 1e12 ll n; ll gcd(ll a,ll b){ return b==0?a:gcd(b,a%b); } ll lcm(ll a,ll b){ return a*b/gcd(a,b); } int main() { ll t; scanf("%I64d",&t); while(t--){ scanf("%I64d",&n); ll x=n/2; ll r=gcd(x,n-x); ll ans=x*(n-x)/r; while(r!=1 && x>0){ x--; r=gcd(x,n-x); ans=max(ans,x*(n-x)/r); } printf("%I64d\n",ans); } return 0; }
View Code
相关文章推荐
- 还记得吗
- 冬季小学期 澄迈NIIT公司 web前端培训 第四天
- 根据传入接口名获取相应的ip地址
- Android 判断ListView是否在滚动到底部
- iOS-提交App store 中如何写好App描述?
- Windows进程间通信(下)
- 屏幕旋转相关的参数
- K-SVD
- 数据库设计之数据库tinyint字段与Int字段的使用
- 2016.01.22 KVC&KVO
- MDX 脚本语句 -- Scope
- Android 设计模式之(三)观察者,适配器,桥接,组合模式
- Java 三大特性 —— 多态
- Python爬虫
- 哥伦布编码和解码
- Android 设计模式之(二)建造者,模板方法,策略模式
- LeetCode 3Sum Closest
- Android 设计模式之(一)单例,代理,外观模式
- Redis入门基础
- RabbitMQ入门教程 For Java【9】 - 与Spring集成