学校刚上讲一点竞赛相关的基础的课程,第二节课有一道竖式的题,想对这一题做一些记录;
*#include <iostream>
#include<string.h>
using namespace std;
int main()
{
char n[100+5];
while(cin>>n)
{
int numble=0; //我觉得这里是最容易犯错的,之所以要把0定义到循环里,是因为题目要求输入多组数据定义在循环里可以保证每一次都从0开始计数
for(int abc=100;abc<1000;abc++)
{
for(int de=10;de<100;de++)
{
int line1=abc*(de%10);
int line2=abc*(de/10);
int result=abc*de;
char str[50];
sprintf(str,"%d%d%d%d%d",abc,de,line1,line2,result);
bool isOK=true;
for(int i=0;i<strlen(str);i++)
{
if(strchr(n,str[i])==NULL)
{
isOK=false;
break;
}
}
if(isOK)numble++;
}
}
cout<<numble<<endl;
}
return 0;
}