我看着没毛病,两个没过?
查看原帖
我看着没毛病,两个没过?
662006
QLUzongyuxing楼主2022/1/21 09:27
#include<bits/stdc++.h>
using namespace std;
int gcd(int a,int b)
{
    if(b == 0)
        return a;
    return gcd(b,a%b);
}
int main()
{
	int a,b,c,i1,i2,i3,f,count=0;
	int i11,i22,i33;
	int s[100000],num[10000];
	cin>>a>>b>>c;
	int t=gcd(a,gcd(b,c));
	a/=t;b/=t;c/=t;
	for(int i=123;i<=987;i++){
	  if(i%a==0)
	  {
	  	i1=i;i11=i1; i2=i1/a*b ; i22=i2; i3=i1/a*c;i33=i3;
	  	for(int j=0;j<=9;j++){
	  		num[j]=0;
		  }
	  	f=0;
	  	s[3]=i1%10; i1/=10; s[2]=i1%10; s[1]=i1/10;
	  	s[6]=i2%10; i2/=10; s[5]=i2%10; s[4]=i2/10;
	  	s[9]=i3%10; i3/=10; s[8]=i3%10; s[7]=i3/10;
	  	for(int j=1;j<=9;j++){
	  	     num[s[j]]++;
	  	 }
	  	for(int j=1;j<=9;j++){
	  	   if(num[s[j]]==1)
	  	   f++;
	  }
	  if(f==9)
	   cout<<i11<<" "<<i22<<" "<<i33<<" "<<endl;
	   count++;
	  }
	  
	}
	if(count==0)
	  cout<<"No!!!";
	  return 0;
}
2022/1/21 09:27
加载中...