数数字

Description

统计一下 aaa ⋯ aaa * b(n 个 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

对于每一组数据,输出一个整数占一行,表示答案。

Sample Input 1

2
3 3 9 10
3 3 0 10

Sample Output 1

10
0

思路:如果a*b<10,那么不会产生进位,如果a*b=d,就有n个d,否则没有

如果a*b>=10,会产生进位,

如果n<3,直接算出来结果,判断有多少个就可以;

如果n>=3,可以发现(或者说推出)最多有4个不同的数字,

设结果从右往左1~(n+1)位,第一位会出现1次,第二位会出现1次,第(n+1)位会出现1次,剩下的都和第n位一样(即出现n-2次)   (注意:其他那三个数有可能有相同的,如:7777*8=62216),

所以我们只要求出(aaa*b),在根据规律就可以知道每个数字出现了几次。

#include<cstdio>#include<cstring>using namespace std;int main(){int T;scanf("%d",&T);int a,b,d,n;while(T--){scanf("%d%d%d%d",&a,&b,&d,&n);int x,ans=0;int p[10];if(a*b<10){x=a*b;if(x==d)printf("%d\n",n);else printf("0\n");}else if(n<3){for(int i=1;i<=n;i++)ans=ans*10+a;ans*=b;int cnt=0;while(ans){x=ans%10;ans/=10;if(x==d) cnt++;}printf("%d\n",cnt);           }else {ans=(a*100+a*10+a)*b;for(int i=1;i<=4;i++){p[i]=ans%10;ans/=10;}int cnt=0;if(d==p[1])cnt++;if(d==p[2])cnt++;if(d==p[3])cnt+=n-2;if(d==p[4])cnt++;printf("%d\n",cnt);}}return 0; }

数数字(找规律+模拟)相关推荐

  1. 51nod 1770 数数字 找规律,注意进位,时间复杂度O(n)

    题目: 这题很简单,找规律即可. 考虑两次进位: 1.a*b时的进位. 2.aa*b时加法时进位. 代码: #include <bits\stdc++.h> using namespace ...

  2. [剑指offer]面试题第[44]题[JAVA][数字序列中某一位的数字][找规律]

    [问题描述][中等] [解答思路] 找规律 时间复杂度:O(logN) 空间复杂度:O(logN) class Solution {public int findNthDigit(int n) {in ...

  3. shell习题第15题:看数字找规律

    [题目要求] 请仔细查看如下几个数字的规律,并使用shell脚本输出后面的十个数字 10 31 53 77 105 141... ... [核心要点] 计算两个数值之间的差值 [脚本] #!/bin/ ...

  4. Codeforce-CodeCraft-20 (Div. 2)-B. String Modification (找规律+模拟)

    Vasya has a string s of length n. He decides to make the following modification to the string: Pick ...

  5. 面试题:看数字找规律

    第一种----等差数列:是指相邻之间的差值相等,整个数字序列依次递增或递减的一组数. 1.等差数列的常规公式.设等差数列的首项为a1,公差为d ,则等差数列的通项公式为an=a1+(n-1)d (n为 ...

  6. java小程序——数字找规律小游戏

    运行程序,出现<span style="font-family: Arial, Helvetica, sans-serif;">3,5,10,17,29, 根据规律,填 ...

  7. 2020海信测评几道行测数字找规律题目(不按顺序)

    大脑它不会自己动啊天 ① 2 2 5 7 11 15 (23) 2*2+1=5:2*5+1=11:2*7+1=15: 2*11+1=23 ②17 2 19 4 18 3 15 (0) 分组数列,两个数 ...

  8. 史上最强数字找规律题

    考大家一道题. 这是一个比较著名的数列: 2, 271, 2718281, 27182818284590452353602874713526624977572470936999595749669676 ...

  9. jzoj2136-(GDKOI2004)汉诺塔【找规律,模拟】

    正题 大意 将汉诺塔的规则改为只能移动到相邻的柱子,然后求有n个圆盘时在第m步时每个盘所在的位置. 解题思路 我们先将3个盘的移动情况推出来:(1,1,1)->(2,1,1)->(3,1, ...

最新文章

  1. adc0832对光电二极管进行数据采集_实车采集的现场数据如何导入控制模型进行分析...
  2. 解决MVC Json序列化的循环引用问题/EF Json序列化循引用问题---Newtonsoft.Json
  3. 浏览器执行Python脚本
  4. SecureCRT登录本地cygwin。
  5. linux 怎么查内存大小,linux如何查内存大小
  6. 北洋降舰之鱼雷艇队 ZT
  7. 【Android】 使用AndServer框架在手机上搭建服务器
  8. 解决从k8s.gcr.io拉取镜像失败问题
  9. php公众号获取code,微信公众号获取code
  10. 实现一个直播视频app源码的邀请码功能
  11. CF514B Han Solo and Lazer Gun
  12. 创新之力迸发无限想象,联想创新开放日触见未来科技
  13. iOS 第三方分享、支付原生平台集成
  14. GoLang 单元测试打桩和 mock
  15. oracle让时间范围走索引,怎样让日期范围走索引?
  16. Nginx 出现 403 Forbidden 的解决办法
  17. CDR插件开发之CPG插件002 - CPG插件开发环境准备和搭建
  18. 计算机电子专业好的学校6,中国最好的计算机专业学校
  19. Proxmox VE 6.0管理指南——8. Proxmox VE存储
  20. PHP使用POP3协议类收取邮件

热门文章

  1. XLSReadWriteII 读取EXCEL数据 动态响应字段的列编号
  2. CocosCreator之KUOKUO趣味文章:小怪要绕墙 3
  3. App渗透中常见的加密与解密
  4. Mendix助力工业数字化 :“智能制造百家讲堂”问题回顾
  5. 计算机毕业设计基于Android二手车交易网站系统app
  6. R语言作图——violin plot(小提琴图)
  7. 如何使用 MATLAB 绘制小提琴图
  8. 头歌Educoder——JDBC基础编程练习
  9. (超详细)MapReduce工作原理及基础编程
  10. Android App耗电分析