#include <stdio.h> #include <stdlib.h> #include <stdarg.h> int data[10]; void cls(void); int judge(void); void cls(void) { int i; for(i = 0; i < 10; i++) data[i] = 0; } int judge(void) { int i; if(data[0] >= 1 || data[9] >= 1 ) return 0; for(i = 2; i <= 8; i++) { if(data[i] == 0) return 0; } return 1; } void f(int n, ...) { va_list ap; int i, j; char l[20]; va_start(ap,n); for(i = 0; i < n; i++) { itoa((int)(va_arg(ap, int)),l,10); for(j = 0; l[j] != NULL; j++) { data[(int)(l[j]-'0')] = 1; } for(j = 0; j < 20; j++) { l[j] = '0'; } } va_end(ap); } int main() { int i, j, n; int count = 0; for(n = 222; n < 888; n++) { for(i = 2; i <= 8; i++) { j = n*i; cls(); f(3,n,i,j); if(judge()) { printf("%d ::/t%d * %d = %d/n",++count, n, i, j); } } } return 0; }