【题目】
1~9的数字可以组成3个3位数,设为:A,B,C, 现在要求满足如下关系:
B = 2 * A
C = 3 * A
请你写出A的所有可能答案,数字间用空格分开,数字按升序排列。
注意:只提交A的值,严格按照格式要求输出。
思路:你说题目都说那么清楚,还是做错了,9个数分成三组,我草,我理解成只要有这九个数字就可以了,日了
答案:
192
219
273
327
代码:
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int d[10]={1,2,3,4,5,6,7,8,9};
int main()
{
vector<int> v;
for(int i=111;i<=333;i++)
{
v.clear();
int a=i;
int b=2*i;
int c=3*i;
int flag1=1,flag2=1,flag3=1;
while(a)
{
if(a%10==0)
{
flag1=0;
break;
}
v.push_back(a%10);
a/=10;
}
while(b)
{
if(b%10==0)
{
flag3=0;
break;
}
v.push_back(b%10);
b/=10;
}
while(c)
{
if(c%10==0)
{
flag3=0;
break;
}
v.push_back(c%10);
c/=10;
}
int flag=1;
if(flag1&&flag2&&flag3)
{
sort(v.begin(),v.end());
for(int i=0;i<9;i++)
if(v[i]!=d[i])
{
flag=0;
break;
}
}
else
flag=0;
if(flag) cout<<i<<endl;
}
return 0;
}