标签:
直接上题目:
#include <stdio.h> #include <stdlib.h> #include <string.h> int pj(char a[],char b[],int n)//判断是否吻合条件 { int i; if(strlen(a)!=n)//长度不对直接结束 return 0; for(i=0;i<n;i++) { if((a[i]!=b[i]&&b[i]!=‘*‘)) return 0;//不吻合 } return 1;//吻合 } int main() { int t,i,j,ans=0; char a[10],b[10],c[10],d[10],e[10],x[10]; scanf("%d",&t); while(t--) { scanf(" %s",a); scanf(" %s",b); scanf(" %s",c); scanf(" %s",d); scanf(" %s",e); ans=0; for(i=100;i<1000;i++) { sprintf(x,"%d",i);//acdream用标准库没有itoa,sprint功能和itoa一样 if(!pj(x,a,3)) continue; for(j=10;j<100;j++) { sprintf(x,"%d",j); if(!pj(x,b,2)) continue; sprintf(x,"%d",j%10*i); if(!pj(x,c,4)) continue; sprintf(x,"%d",j/10*i); if(!pj(x,d,3)) continue; sprintf(x,"%d",j/10*i*10+j%10*i); if(!pj(x,e,5)) continue; ans++;//所有条件都满足了自加 } } printf("%d\n",ans); } return 0; }
有一点要注意就是:acdream用标准库没有itoa,sprint功能和itoa一样,一开始用itoa编译错误了两次
标签:
原文地址:http://www.cnblogs.com/Qiao994255978/p/4451097.html