🗒️1015. 可被 K 整除的最小整数
2024-12-11
| 2024-12-11
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
category
icon
password
创建时间
Dec 11, 2024 01:47 AM
给定正整数 k ,你需要找出可以被 k 整除的、仅包含数字 1 的最  正整数 n 的长度。
返回 n 的长度。如果不存在这样的 n ,就返回-1。
注意: n 可能不符合 64 位带符号整数。

枚举

💡
这一道题,我刚开始的想法是
但是这样会导致数据溢出。
其实,我们不需要把数完全求处理,只是求数的位数。这样我们只需要针对每一位来求解。之前,遇到的很多算法题,都是类似的思路,不直接求这个数或问题,变换一下形式!!!

欧拉函数

欧拉函数(Euler's totient function), 即 , 表示的是小于等于 互质的数的个数。
欧拉函数的性质:即对任意满足 的整数 ( ), 有 。特别地, 当 是奇数时
欧拉定理──费马小定理的一般形式(求逆元)
欧拉定理:若 互素,则有 (费马小定理的一般形式)
例如 a = 5,p = 6
的长度为 ,那么 的倍数,等价于 的倍数,即 。 结论:最小的 必然是 的因子。 反证: 如果 ,根据欧拉定理, ,这说明有一个比 更小的 ,矛盾。那么计算 并枚举其因子 ,用快速幂判断 是否等于
notion image

求欧拉函数模板

质因数分解求欧拉函数

筛法求欧拉函数——多个数的欧拉函数值

📎 参考

 
  • 【题单】数学算法
  • Important
  • 2240. 买钢笔和铅笔的方案数633. 平方数之和
    Loading...