a站全称,新媒体运营方案,研磨 东莞网站建设,国企门户网站建设情况汇报目录
A AcWing 4867. 整除数
1.题目描述
2.思路分析
3.代码实现
B AcWing 4868. 数字替换
1.题目描述
2.思路分析
3.代码实现 A AcWing 4867. 整除数
1.题目描述 2.思路分析 为什么不能直接暴力#xff1f;
数据#xff1a;1 ≤ n, k ≤ 10 ** 9
1s内最多…目录
A AcWing 4867. 整除数
1.题目描述
2.思路分析
3.代码实现
B AcWing 4868. 数字替换
1.题目描述
2.思路分析
3.代码实现 A AcWing 4867. 整除数
1.题目描述 2.思路分析 为什么不能直接暴力
数据1 ≤ n, k ≤ 10 ** 9
1s内最多运行到10 ** 8次方左右所以不能直接暴力 那怎么做呢
需要一定数学思维
易知被除数 ÷ 除数 商 ······ 余数
故被除数 除数 * 商 余数
即n k*qr 当r 0时ans k*(q1) 当r ! 0时ans k*(q1) 3.代码实现
n, k map(int, input().split())
print(k * (n // k 1)) B AcWing 4868. 数字替换
1.题目描述 2.思路分析
没想太多其实是dfs剪枝什么的也不会
直接bfs枚举出所有每次两数相乘的结果然后统计边数
如果x变为n位数字返回边数
否则返回-1
3.代码实现
n, x map(int, input().split())def bfs(s):q [s]seen {s}cnt 0while q:for _ in range(len(q)):v q.pop(0)if len(str(v)) n:return cntfor w in set([int(i) * v for i in str(v)]):if w not in seen:q.append(w)seen.add(w)cnt 1return -1print(bfs(x)) 如有帮助可以点赞收藏嘛~
如有不足或不解之处欢迎评论留言~