巧妙填数

来源:互联网 发布:dota2五个位置 知乎 编辑:程序博客网 时间:2024/04/29 15:45

描述 Description

将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成
  1:2:3的比例,试求出所有满足条件的三个三位数。
  例如:三个三位数192,384,576满足以上条件。

输入格式 Input Format

无输入

输出格式 Output Format

需要输出全部结果。
每行输出3个数 用空格隔开。按照字典序的顺序输出。

================

枚举....

------------------

var  f:array[char]of boolean;procedure init;begin  assign(output,'p1001.out');  rewrite(output);end;procedure terminate;begin  close(output); halt;end;function pd(t:longint):boolean;var  st:string;  //code:longint;  i:longint;begin  pd:=true;  str(t,st);  for i:=1 to length(st) do    begin      if f[st[i]] then         f[st[i]]:=false        else exit(false);    end;end;procedure main;var  i:longint;begin  for i:=123 to 987 do    begin      fillchar(f,sizeof(f),true);      f['0']:=false;      if pd(i) and pd(i*2) and pd(i*3) then        writeln(i,' ',i*2,' ',i*3);    end;end;begin  init;  main;  terminate;end.  


 

原创粉丝点击