P1008 三连击
题目描述:
将1,2,⋯,9共9个数分成3组,分别组成3个三位数,且使这3个三位数构成1:2:3的比例,试求出所有满足条件的3个三位数。
输入格式:
没有输入
输出格式:
若干行,每行3个数字。按照每行第一个数字升序排列。
C++源代码:
#include<stdio.h>
int main()
{
short a,i,n[9],*b,*d;//数组n[9]用于存放3个三位数a、2a、3a包含的9个数
bool repeat;//变量repeat用于检测是否出现重复数字或0
for(a=100;a<=333;a++)
{
b=n;//将指针初始化,指向数组a的首元素
repeat=true;//将变量初始化为true,表示无重复数字和0
for(i=1;i<=3;i++)//此循环用于构造3个三位数a、2a、3a
{
*(b++)=a*i%10;//将此数的个位数送入b所指向的数组元素
*(b++)=a*i/10%10;//将此数的十位数送入b所指向的数组元素
*(b++)=a*i/100;//将此数的百位数送入b所指向的数组元素
}//循环结束时,n[9]的所有元素已赋值完毕
for(b=n;b<=n+7&&