统计一下
样例解释:
3333333333*3=9999999999,里面有10个9。
Input
多组测试数据。 第一行有一个整数T,表示测试数据的数目。(1≤T≤5000) 接下来有T行,每一行表示一组测试数据,有4个整数a,b,d,n。 (1≤a,b≤9,0≤d≤9,1≤n≤10^9)
Output
对于每一组数据,输出一个整数占一行,表示答案。
Input示例
2 3 3 9 10 3 3 0 10
Output示例
10 0
# include <stdio.h> int main() { int t, a, b, d, n; scanf("%d",&t); while(t--) { int c[10] = {0}; scanf("%d%d%d%d",&a,&b,&d,&n); int tmp = a*b; if(tmp < 10) { if(tmp == d) printf("%d\n",n); else puts("0"); } else { int p = tmp%10; int q = tmp/10; if(p + q < 10) { ++c[q]; ++c[p]; c[p+q] += n-1; printf("%d\n",c[d]); } else { if(n > 1) { ++c[p]; ++c[(p+q)%10]; ++c[q+1]; c[(p+q+1)%10] += n-2; } else//n==1时另外讨论 { ++c[p]; ++c[q]; } printf("%d\n",c[d]); } } } return 0; }