统计一下
aaa ⋯ aaa X b
n个a
的结果里面有多少个数字d,a,b,d均为一位数。
样例解释:
3333333333*3=9999999999,里面有10个9。
输入
多组测试数据。
第一行有一个整数T,表示测试数据的数目。(1≤T≤5000)
接下来有T行,每一行表示一组测试数据,有4个整数a,b,d,n。 (1≤a,b≤9,0≤d≤9,1≤n≤10^9)
输出
对于每一组数据,输出一个整数占一行,表示答案。
输入样例
2
3 3 9 10
3 3 0 10
输出样例
10
0
打表
发现只有后两位和第一位数有变化
中间相同的数个数为n-3
#include<bits/stdc++.h>
using namespace std;
int main()
{
ios::sync_with_stdio(false);
int t,a,b,d,n,tmp,sum=0;
cin>>t;
while(t--)
{
cin>>a>>b>>d>>n;
sum=0;
if(n<=2)
{
tmp=0;
for(int i=1;i<=n;i++)
{
tmp+=a*b;
if(tmp%10==d) sum++;
tmp/=10;
}
if(tmp&&tmp==d) sum++;
cout<<sum<<endl;
continue;
}
int tmp=a*b;
if(tmp%10==d) sum++;//8
tmp=tmp/10+a*b;//9
if(tmp%10==d) sum++;
tmp=tmp/10+a*b;//19
if(tmp%10==d) sum+=n-3;
while(tmp)
{
if(tmp%10==d) sum++;
tmp/=10;
}
cout<<sum<<endl;
}
return 0;
}