牛客网暑期ACM多校训练营(第五场)G-max (math)

题目描述
给定两个正整数c,n,求一个数对(a,b),满足1<=a,b<=n,且gcd(a,b)=c
要求输出最大的ab
1<=c,n<=10^9

 

只要满足公式a=(n/c)*c 与b=(n/c-1)*c即可

注意n/c=1的特殊情况

 

#include <bits/stdc++.h>

using namespace std;

long long n,c;
long long t;


int main()
{
   scanf("%d%d",&c,&n); t
=n/c; if(t<1) printf("-1\n"); else if(t==1) printf("%lld\n",c*c); else printf("%lld\n",t*c*(t-1)*c); return 0; }

 

posted @ 2018-08-02 21:34  Somnus、M  阅读(183)  评论(0编辑  收藏  举报