SiriBlog

siriyang的个人博客


  • 首页

  • 排行榜

  • 标签115

  • 分类37

  • 归档320

  • 关于

  • 搜索

美团面试题:小美的讨厌数字

发表于 2021-04-04 更新于 2021-10-29 分类于 计算机 , 算法题 阅读次数: Valine:
本文字数: 821 阅读时长 ≈ 1 分钟

题目

时间限制:4000MS
内存限制:589824KB
题目描述:
小美发明了一个函数:$f(x)$,表示将$x$的所有正整数因子提取出来之后从小到大排列,再将数字拼接之后得到的数字串。例如:10的所有因子为1,2,5,10,那么将这些因子从小到大排序之后再拼接得到的数字串为12510,即$f(10)=12510$
小美十分讨厌数字$k$,如果$f(x)$中含有某个子串对应的数字等于$k$,那么她的不高兴度就会增加1。例如:$f(8)=1248$,那么其所有的子串为:1,2,4,8,12,24,48,124,248,1248,只要$k$等于其中任意一个值,那么小美的不高兴度就会增加1。对于每一个数,其不高兴度至多增加1.
现在,有一个长底为$n$的正整数序列,定义其不高兴度为序列中所有数的不高兴度的总和。小美想要知道自己对这个序列的总不高兴度为多少。

输入描述
第一行两个正整数$n,k$;
第二行$n$个正整数$a_i$,表示该序列$1\le n\le10^5,1\le k,a_i\le 2\times 10^4$

输出描述

输出一行一个正整数,表示小美的总不高兴度。

示例
输入:

1
2
5 13
13 31 10 9 20

输出:

1
3

题解

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
T = input().split(" ")

k=T[1]

num=list(map(int,input().split(" ")))

res=0

for i in num:
t1 = []
t2 = []
for j in range(int(i**0.5)):
if i%(j+1)==0:
t1.append(j+1)
t2.append(int(i/(j+1)))
t2.reverse()
s="".join(map(str,t1+t2))
if k in s:
res+=1

print(res)
-------- 本文结束 感谢阅读 --------
相关文章
  • 算法常用模板:并查集
  • 寻找无向图最小着色方案
  • Bulls and Cows的Java求解过程遇到的问题
  • 《C语言程序设计(第五版)谭浩强》课后习题答案源码
  • C语言基础编程练习题
觉得文章写的不错的话,请我喝瓶怡宝吧!😀
SiriYang 微信支付

微信支付

SiriYang 支付宝

支付宝

  • 本文标题: 美团面试题:小美的讨厌数字
  • 本文作者: SiriYang
  • 创建时间: 2021年04月04日 - 14时04分
  • 修改时间: 2021年10月29日 - 18时10分
  • 本文链接: https://blog.siriyang.cn/posts/20210404142509id.html
  • 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
算法题 算法:数组 算法:数字 面试题 美团
BRAT安装与使用
Zotero安装与配置
SiriYang

SiriYang

努力搬砖攒钱买镜头的摄影迷
320 日志
33 分类
88 标签
RSS
GitHub E-Mail
Creative Commons
Links
  • 友情链接
  • 作品商铺

蜀ICP备19008337号 © 2019 – 2025 SiriYang | 1.7m | 25:41
0%