本人只会死写(好歹过了)
查看原帖
本人只会死写(好歹过了)
347889
cxoi9010楼主2021/5/1 23:57
#include<bits/stdc++.h>
using namespace std;
int number,cnt,a,b,c,n[10],m[4][4];
bool flag[10],flag1,flag2;
int main()
{
	cin>>a>>b>>c;
	for(int i=1;i<=9;i++)
	{
		for(int j=1;j<=9;j++)
		{
			for(int k=1;k<=9;k++)
			{
				memset(flag,0,sizeof(flag));
				cnt=0;
				if(i!=j&&i!=k&&j!=k)
				{
					n[1]=i*100+j*10+k;
					m[1][1]=i;
					m[1][2]=j;
					m[1][3]=k;
					flag[i]=flag[j]=flag[k]=1;
					if(n[1]*1.0/a*b==int(n[1]/a*b))
					{
						n[2]=n[1]/a*b;
						int r=n[2];
						while(r!=0)
						{
							m[2][++cnt]=r%10;
							flag[r%10]=1;
							r/=10;
						}
						cnt=0;
						if(n[2]*1.0/b*c==int(n[2]/b*c))
						{
							n[3]=n[2]/b*c;
							int r=n[3];
							while(r!=0)
							{
								m[3][++cnt]=r%10;
								flag[r%10]=1;
								r/=10;
							}
						}
						else continue;
						flag1=1;
						for(int i=1;i<=9;i++)
						{
							if(flag[i]==0)
							{
								flag1=0;
								break;
							}
						}
						if(!flag1)
						continue;
						else
						{
							flag2=1;
							cout<<n[1]<<" "<<n[2]<<" "<<n[3]<<endl;
						}
					}
					else
					continue;
				}
			}
		}
	}
	if(!flag2)
	cout<<"No!!!";
}
2021/5/1 23:57
加载中...