LeetCode biweekly contest 92

LeetCode biweekly contest 92

Problem 1

Problem 1

找规律可以发现,n为奇数时,由于不对称,无法进行过圆心的切分,所以只能切n刀;n为偶数时,可以通过切n/2刀。特殊的是n=1时不需要切分。

阅读更多
LeetCode weekly contest 321

LeetCode weekly contest 321

Problem 1

Problem 1

普通做法:遍历每个数,判断左边和右边的和是否相等,时间复杂度$O(n^2)$,用等比数列求和公式可以将复杂度降到$O(n)$。
从 1 到 n 枚举 x 即可。

阅读更多
如何在M系芯片的Macbook上玩原神

如何在M系芯片的Macbook上玩原神

在用上M系芯片之后

苹果开始在自家的Mac系列电脑上使用新的M系芯片(也就是所谓的Apple Silicon Chip)之后,iPhone、iPad、Mac的芯片就被统一成了ARM架构,使用同一套RISC指令集。这意味着,我们甚至可能在iPhone运行MacOs。当然,我觉得刀法精准的厨子不会这么做。

阅读更多
Utilize Apple Silicon's GPU by Pytorch-nightly

Utilize Apple Silicon's GPU by Pytorch-nightly

Pytorch nightly 已经支持了 Apple Silicon 的 GPU,可以通过以下方式来使用它:

首先,你的 Macbook 应该是使用 Apple Silicon (M系列芯片) 新款笔记本,而不是使用 Intel 的笔记本。另外,需要 Mac OS 是 12.3 或更高版本。

阅读更多
素性测试:A Survey

素性测试:A Survey

素数

素数(Prime number),又称质数,指在大于1的自然数中,除了1和该数自身之外,无法被其他自然数整除的数。大于1的自然数,若不是素质,则为合数。前十个素数分别是:2、3、5、7、11、13、17、19、23、29。

RSA加密是现在网络安全系统中非常常用的一种非对称加密方法,这种方法的安全性依赖于大数质因子分解非常困难。

任何一个大于1的自然数都可以表示成素数乘积的形式,并且如果将素数按顺序写出来,这个表示方法是唯一的,这被称为算数基本定理。比如,60=223*5。将自然数表示成素数乘积的过程叫做质因子分解,可以用来判断一个数是不是素数。另外,还有一些方法可以在不进行质因子分解就能知道一个数字是不是素数,这些方法可以分为两类,分别是随机的和确定的。随机方法不一定能保证通过测试的一定是素数,只能保证通过检验的数很大可能上是一个素数。而确定的则可以完全保证通过测试的数字是一个素数。

下面我们具体研究各种判断素数的方法。

阅读更多