1770 数数字
Posted upupdayday
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1770 数数字相关的知识,希望对你有一定的参考价值。
基准时间限制:1 秒 空间限制:262144 KB
统计一下由数字a组成的n位数与b相乘结果中含有多少个数字d; (引自原题目)
样例解释:
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 <cstdio> #include <iostream> using namespace std; int main() { int t; scanf("%d", &t); while(t--) { int a, b, d, n; scanf("%d%d%d%d", &a, &b, &d, &n); if(a*b<= 9) { if(d==a*b) cout << n<<‘\n‘; else cout<<0<<‘\n‘; } else { int z=a*b /10; int r=a*b %10; //位数 ; int res[10]={0}; res[r]++; n--; while(n) { r=(a*b+z)%10; z=(a*b+z)/10; if(res[r]) { res[r]+= n; break; } else { res[r]++; } n--; } res[z]++; cout<< res[d] <<endl; } } return 0; }
以上是关于1770 数数字的主要内容,如果未能解决你的问题,请参考以下文章