《算法竞赛入门经典》例题3-3 竖式问题
#include <stdio.h>
#include <string.h>
void main()
{
char input[20];
char tmp[90];
int count = 1;
scanf("%s",input);
for (int i=100;i<1000;i++)
{
for (int j=10;j<100;j++)
{
int a=i*(j%10);
int b=i*(j/10);
int c=i*j;
sprintf(tmp,"%d%d%d%d%d",i,j,a,b,c);
int ok = 1;
for (int m=0;m<strlen(tmp);m++)
{
if (!strchr(input,tmp[m]))
{
ok=0;
}
}
if (ok)
{
printf("<%d>\n",count++);
printf("%5d\nX%4d\n--------\n%5d\n%4d\n--------\n%5d\n",i,j,a,b,c);
}
}
}
printf("The number of solutions = %d\n",count-1);
}

浙公网安备 33010602011771号