#include<bits/stdc++.h> using namespace std; int inset(char *s,int num) { //判断数字是否在数字集中 int len=strlen(s),i,tmp; while(num) { tmp=num%10; //取末尾数字 for(i=0; i<len; i++) { if(s[i]-'0'==tmp) //如果在里面,则跳出for循环 break; } if(i==len)//当i=len的时候,表示已经搜遍s,s里面不存在tmp的末尾数字,则不行 return 0; num=num/10; } return 1; } int main() { int i,count=0; char s[10]; scanf("%s",s); //printf("%s ",s); int abc,de,x,y,z; for(abc=111; abc<=999; abc++) { for(de=11; de<=99; de++) { x=abc*(de%10); //abc乘de的个位 y=abc*(de/10);//abc乘de的十位 z=abc*de; if(inset(s,abc)&&inset(s,de)&&inset(s,x)&&inset(s,y)&&inset(s,z)) { count++; printf("<%d> ", count); printf("%5d X%4d ----- %5d %4d ----- %5d ", abc, de, x, y, z); } } } return 0; }