题目:

演演是个厉害的数学家,他最近又迷上了数字谜。。。。

他很好奇  xxx...xxx(n个x)*y 的答案中 有多少个z,x,y,z均为位数只有一位的整数。

大概解释一下:

22222*3 = 66666,里面有5个6。

Input多组测试数据。 第一行有一个整数T,表示测试数据的数目。(1≤T≤5000) 接下来有T行,每一行表示一组测试数据,有4个整数x,y,z,n。 (1≤x,y≤9,0≤z≤9,1≤n≤10^9)Output对于每一组数据,输出一个整数占一行,表示答案。Sample Input

2
2 3 6 5
3 3 0 10

Sample Output

5
0
可以发现乘出来的结果都是第一个数和最后那个数不同,中间的都相同;
如果a*b<10,如果d等于a*b就输出n,否则输出0。如果a*b大于等于10,就找出循环数
那个循环数就是x*y/10(即,进位)加上x*y%10(即,本位上的数),但是要注意这两个数相加可能会大于10
就比如4*7,它的进位数是2,本位数是8(疏忽疏忽。。。。。。)

代码:

 1 #include<stdio.h>
2 #include<string.h>
3 #include<iostream>
4 #include<algorithm>
5 #include<queue>
6 #include<vector>
7 using namespace std;
8 const int INF=0x3f3f3f3f;
9 const int maxn=3e5+10;
10 const int mod=2015;
11 typedef long long ll;
12 int main()
13 {
14 ll t,x,y,z,n;
15 scanf("%lld",&t);
16 while(t--)
17 {
18 scanf("%lld%lld%lld%lld",&x,&y,&z,&n);
19 ll index=0,sum=0,temp=0;
20 if(x*y<10)
21 {
22 if(x*y==z)
23 printf("%lld\n",n);
24 else printf("0\n");
25 }
26 else
27 {
28
29 int ans=x*y;
30 temp=ans%10;
31 ans/=10;
32
33 if(n==1)
34 {
35 if(ans==z)
36 sum++;
37 if(temp==z)
38 sum++;
39 printf("%lld\n",sum);
40 }
41 else
42 {
43 if(temp==z)
44 sum++;
45 if((ans+temp)%10==z)
46 sum++;
47 if((ans+temp+(ans+temp)/10)%10==z)
48 sum+=(n-2);//,printf("**\n");
49 if(ans+(ans+temp+(ans+temp)/10)/10==z)
50 sum++;
51 printf("%lld\n",sum);
52 }
53 }
54 }
55 return 0;
56 }

A - 你能数的清吗 51Nod - 1770的更多相关文章

  1. A - 你能数的清吗 51Nod - 1770(找规律)

    A - 你能数的清吗 51Nod - 1770(找规律) 演演是个厉害的数学家,他最近又迷上了数字谜.... 他很好奇 xxx...xxx(n个x)*y 的答案中 有多少个z,x,y,z均为位数只有一 ...

  2. 51nod 1770 数数字

    1770 数数字 基准时间限制:1 秒 空间限制:262144 KB 分值: 20 难度:3级算法题  收藏  关注 统计一下 aaa ⋯ aaan个a × b 的结果里面 ...

  3. ACM学习历程—51NOD 1770数数字(循环节)

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1770 这是这次BSG白山极客挑战赛的A题.由于数字全部相同,乘上b必然会 ...

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

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

  5. 【51NOD 1847】奇怪的数学题(莫比乌斯反演,杜教筛,min_25筛,第二类斯特林数)

    [51NOD 1847]奇怪的数学题(莫比乌斯反演,杜教筛,min_25筛,第二类斯特林数) 题面 51NOD \[\sum_{i=1}^n\sum_{j=1}^nsgcd(i,j)^k\] 其中\( ...

  6. 75 int类型数组中除了一个数出现一次或两次以外,其他数都出现三次,求这个数。[2行核心代码]

    [本文链接] http://www.cnblogs.com/hellogiser/p/single-number-of-array-with-other-three-times.html [题目] i ...

  7. lintcode 中等题:Singleton number II 落单的数 II

    题目 落单的数 II 给出3*n + 1 个的数字,除其中一个数字之外其他每个数字均出现三次,找到这个数字. 样例 给出 [1,1,2,3,3,3,2,2,4,1] ,返回 4 挑战 一次遍历,常数级 ...

  8. 利用EEPROM实现arduino的断电存储

    转载请注明:@小五义http://www.cnblogs.com/xiaowuyiQQ群:64770604 一.EEPROM简介 EEPROM (Electrically Erasable Progr ...

  9. LVS负载均衡集群服务搭建详解(一)

    LVS概述 1.LVS:Linux Virtual Server 四层交换(路由):根据请求报文的目标IP和目标PORT将其转发至后端主机集群中的某台服务器(根据调度算法): 不能够实现应用层的负载均 ...

随机推荐

  1. P1140 相似基因(字符串距离,递推)

    题目链接: https://www.luogu.org/problemnew/show/P1140 题目背景 大家都知道,基因可以看作一个碱基对序列.它包含了44种核苷酸,简记作A,C,G,TA,C, ...

  2. CTFshow萌新赛-密码学签到

    查看密码信息 猜测为base家族 存在"^"符号,所以应该是在base64以上 使用base85解密 成功拿到flag

  3. ctfshow—web—web3

    打开靶机 提示是文件包含漏洞 测试成功 https://d7c9f3d7-64d2-4110-a14b-74c61f65893c.chall.ctf.show/?url=../../../../../ ...

  4. 通过logmnr找到被修改前的存储过程

    1.找到存储过程被修改时的归档日志 SELECT NAME FROM V$ARCHIVED_LOG WHERE FIRST_TIME BETWEEN TO_DATE('20191118080000', ...

  5. oblet

      oblet - The Go Programming Language https://golang.google.cn/search?q=oblet // put enqueues a poin ...

  6. functools.singledispatchmethod(Python 3.8) | 码农网 https://www.codercto.com/a/83245.html

    functools.singledispatchmethod(Python 3.8) | 码农网 https://www.codercto.com/a/83245.html

  7. 利用Mixins扩展类功能

    8.18 利用Mixins扩展类功能 - python3-cookbook 3.0.0 文档 https://python3-cookbook.readthedocs.io/zh_CN/latest/ ...

  8. var、let、const之间的区别

    var声明变量可以重复声明,而let不可以重复声明var是不受限于块级的,而let是受限于块级var会与window相映射(会挂一个属性),而let不与window相映射var可以在声明的上面访问变量 ...

  9. pthon之变量

    1.变量由三部分组成: 变量名  =   值 如:name = 'xiaohan'     sex='男'   age = 20 2.变量名的规范 2.1 变量名只能是字母,数字或下划线的任意组合 2 ...

  10. 固定学习率梯度下降法的Python实现方案

    应用场景 优化算法经常被使用在各种组合优化问题中.我们可以假定待优化的函数对象\(f(x)\)是一个黑盒,我们可以给这个黑盒输入一些参数\(x_0, x_1, ...\),然后这个黑盒会给我们返回其计 ...