题目描述
将1,2,…,9共9个数分成3组,分别组成3个三位数,且使这3个三位数构成1:2:3的比例,试求出所有满足条件的3个三位数。
输入输出格式
输入格式:
木有输入
输出格式:
若干行,每行33个数字。按照每行第11个数字升序排列。
输入输出样例
输入样例#1:
无
输出样例#1:
192 384 576
…
(输出被和谐了)
怎么说呢,一道很简单的题目,荒废了好长时间,其实只用bool或者int判断是否使用过,可用连续赋值语句
希望以后能避免出错
#include <bits/stdc++.h>
using namespace std;
int main()
{
bool s[10];
int j;
for(int i=192;i<=333;i++)
{
memset(s,false,sizeof(s));
s[i%10]=s[i/100]=s[i/10-i/10010]=s[(i2)%10]=s[2i/100]=s[2i/10-2i/10010]=s[i3%10]=s[3i/100]=s[3i/10-3i/10010]=true;
for(j=1;j<10;j++)
{
if(s[j]!=true)
break;
}
if(j==10)
cout << i <<’ ’ << i2 << ’ ’ << i*3 << endl;
}
return 0;
}
另附上:注意赋值语句左右不能出现相同式子,有bug
如a[s%10]=a[s%10]=0;