链接:https://www.nowcoder.com/acm/contest/143/G
题目描述
Give two positive integer c, n. You need to find a pair of integer (a,b) satisfy 1<=a,b<=n and the greatest common division of a and b is c.And you need to maximize the product of a and b
输入描述:
The first line has two positive integer c,n
输出描述:
Output the maximum product of a and b. If there are no such a and b, just output -1
示例1
输入
复制
2 4
输出
复制
8
说明
a=2,b=4
备注:
1<=c,n<=10^9
题意:
最大公因数为c,两个数都小于n,求出最大的乘积是多少
分析:
相邻的两个数互质
代码:
#include<bits/stdc++.h>
#define ll long long
#define inf 0x3f3f3f3f
using namespace std;
int main()
{
long long c,n,a,b,k;
scanf("%lld%lld",&c,&n);
if(c>n){
printf("-1\n");
return 0;
}
k=(long long int)n/c;
if(k==1)
{
a=b=c;
}
else
{
a=k*c;
b=(k-1)*c;
}
printf("%lld\n",a*b);
}