将 1, 2, …, 9共 9 个数字分成 3 组,分别组成 3 个三位数,且使这 3 个三位数构成1:2:3 的比例,试求出所有满足条件的 3 个三位数。可能要用到字符串的一些方法:IndexOf查询某个字符或子串的位置,找不到返回-1;Contains查询是否包含某个字符或子串;其它方法请查询帮助文件。
输出示例:
192 384 576
using System;
namespace ConsoleApp4
{
class Program
{
static bool check(int a,int b,int c)//检查a,b,c的数字是否重复
{
long num = a * 1000000 + b * 1000 + c;//合成一个9位数
String str = num.ToString();//转换为字符串
for(int i=1;i<10;i++)
{
if (str.Contains(i.ToString()) == false)//判断1-9是否都在这个字符串里面
return false;
}
return true;
}
static void Main(string[] args)
{
int i, j, k;
int num;
for (i = 1; i < 10; i++)
{
for (j = 1; j < 10; j++)
{
if (i != j)
{
for (k = 1; k < 10; k++)
{
if (k != j)
{
num = i + j * 10 + k * 100;
if (check(num, num * 2, num * 3)==true)
{
Console.WriteLine("{0} {1} {2}", num, num * 2, num * 3);
}
}
}
}
}
}
Console.ReadKey();
}
}
}