题目叙述:易于理解。
解题思路:暴力循环
1.数据过大,用long long int
2.求互质时用辗转相除法
我的代码:
#include<iostream>
#include<algorithm>
using namespace std;
long long int gcd(long long int m,long long int n)
{
if(!(m%n)) return n;
else if(m>n)return gcd(n,m%n); //gcd(m,n)=gcd(n,m%n)
else return gcd(n,m);
}
int main()
{
long long int x,y;
int flag=1;
cin>>x>>y;
if((y-x)==1)
{
cout<<-1<<endl;
flag=0;
}
for(long long int i=x;i<=y-2&&flag;i++)
{
for(long long int j=x+1;j<=y-1&&flag;j++) //通过条件避免多余的循环
{
if(gcd(i,j))
{
for(long long int k=x+2;k<=y&&flag;k++)
{
if(gcd(j,k)==1&&gcd(i,k)!=1)
{
flag=0;
cout<<i<<" "<<j<<" "<<k<<endl;
}
}
}
}
}
if(flag)
cout<<-1<<endl;
return 0;
}