BSG白山极客挑战赛-A-数数字
来源:互联网 发布:库里2016常规赛数据 编辑:程序博客网 时间:2024/05/16 01:31
统计一下 aaa ⋯ aaan个a × b 的结果里面有多少个数字d,a,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
这道题是一道规律题,规律很好找,无非是最高位和最低两位的特殊考虑,其他位都是一样的。
但是真正的问题出在一些特殊情况的考虑上,一开始我就是因为没有考虑周全n == 1时的情况,所以一直WA,影响我的好心情 -_-#出师不利嘛。
#include <stdio.h>int num[5], value[5];int main(int argc, const char * argv[]){ int T; int a, b, d, n; scanf("%d", &T); while (T--) { int sum = 0; scanf("%d %d %d %d", &a, &b, &d, &n); if (n == 1) { int q = a * b; if (q % 10 == d) { sum++; } if (q / 10 == d && d != 0) { sum++; } printf("%d\n", sum); continue; } num[1] = 1; value[1] = a * b % 10; num[2] = 1; value[2] = (value[1] + a * b / 10) % 10; num[3] = n - 2; value[3] = (value[1] + a * b / 10 + (value[1] + a * b / 10) / 10) % 10; num[4] = 1; value[4] = a * b / 10 + (value[1] + a * b / 10) / 10; if (value[4] == 0) { value[4] = -1; } for (int i = 1; i < 5; i++) { if (value[i] == d) { sum += num[i]; } } printf("%d\n", sum); } return 0;}
0 0
- BSG白山极客挑战赛-A-数数字
- BSG白山极客挑战赛 A-数数字 (模拟)
- BSG白山极客挑战赛A-数数字
- BSG白山极客挑战赛 数数字
- BSG白山极客挑战赛-数数字(模拟)
- BSG白山极客挑战赛 -- 数数字 (找规律)
- BSG白山极客挑战赛
- BSG白山极客挑战赛
- BSG白山极客挑战赛——数数字(递推)
- BSG白山极客挑战赛-AVL树
- BSG白山极客挑战赛 - C B君的圆锥
- BSG白山极客挑战赛题解 E 【二分+树状数组】
- BSG白山极客挑战赛 B君的圆锥
- BSG白山极客挑战赛D 解题报告
- BSG白山极客挑战赛-B君的圆锥(三分+数学)
- BSG白山极客挑战赛 -- B君的圆锥 (三分法求最值)
- 【三分法/数学公式】B君的圆锥【51nod】【BSG白山极客挑战赛】
- BSG白山极客挑战赛——B君的圆锥(计算几何)
- Google I/O大会,炫酷产品汇总
- C++菱形继承
- BaseActivity与BaseFragment的封装
- iOS 证书导出为p12,再导入其他电脑只能导入其中一个的解决方法
- 第107课: Spark Streaming电商广告点击综合案例底层数据层的建模和编码实现(基于MySQL)
- BSG白山极客挑战赛-A-数数字
- sor文件分析软件
- 啦啦啦啦~Django1.96---编写第一个Django应用(6)
- 简析Instgram的搜索架构
- 冒泡排序法
- HDU 2065 "红色病毒"问题 (泰勒级数推导)(快速幂)
- 拷贝构造函数详解http://blog.chinaunix.net/uid-21411227-id-1826742.html
- latex基本语法
- c++实验6-数组操作