将 1, 2, …, 9共 9 个数字分成 3 组,分别组成 3 个三位数,且使这 3 个三位数构成1:2:3 的比例,试求出所有满足条件的 3 个三位数。
输出示例:
192 384 576
…(还有其它数,请自行完成)
using System;
namespace ConsoleApp3
{
class Program
{
static void Main(string[] args)
{
int a, b, c; //令三个数分别为a:b:c
int i;
int j = 0;
int[] s = new int[9];
for (a = 100; a < 333; a++) //数值不能重复,a最大321
{
b = 2 * a;
c = 3 * a; //计算b、c的值
s[0] = a / 100; s[1] = a % 100 / 10; s[2] = a % 10; //分离a的百位、十位、个位。
s[3] = b / 100; s[4] = b % 100 / 10; s[5] = b % 10;
s[6] = c / 100; s[7] = c % 100 / 10; s[8] = c % 10;
for (i = 0; i < 8; i++) //判断是否有重复数字、是否有数字0
{
for (j = i + 1; j < 9; j++)
if (s[i] == s[j] || s[i] == 0 || s[j] == 0) break;
if (j < 9) break;
}
if (i == 8 && j == 9) //无重复数字、也无0
Console.WriteLine("{0} {1} {2}\n", a, b, c);
}
}
}
}