摘要: Description Given two positive integers a and b, we can easily calculate the greatest common divisor (GCD) and the least common multiple (LCM) of a an 阅读全文
posted @ 2020-04-13 20:26 ジャスミン 阅读(169) 评论(0) 推荐(0)
摘要: 有一类问题,要求我们将一个正整数x,分解为两个非平凡因子(平凡因子为1与x)的乘积x=ab。 显然我们需要先检测x是否为素数(如果是素数将无解),可以使用Miller-Rabin算法来进行测试。 大数分解最简单的思想也是试除法,就是从2到sqrt(n),一个一个的试验,直到除到1或者循环完,最后判断 阅读全文
posted @ 2020-04-13 19:54 ジャスミン 阅读(2900) 评论(0) 推荐(0)
摘要: 最简单直观简单的素数判定方法就是试除法。对于判断数n是否是素数,我们从2开始一直到sqrt(n)。如果找到一个因子则判断n不是素数,否则是素数。代码如下: bool isPrime( long long n ) { for(long long i = 2; i*i <= n; i++) { if(n 阅读全文
posted @ 2020-04-13 18:57 ジャスミン 阅读(1384) 评论(0) 推荐(1)
摘要: 快速幂运算 在计算 xn 时,我们会怎么算呢?如果只是x * x * x * ... * x 这样每个数乘起来计算 n 次的的话,虽然算法简单,但是复杂度为 O(n) ,往往不能满足要求。让我们来考虑加速幂运算的方法。 思路一: 如果 n = 2k ,可以将其表示为 xn = ((x2)2)... 阅读全文
posted @ 2020-04-13 17:29 ジャスミン 阅读(1547) 评论(1) 推荐(0)
摘要: Write a program which computes the greatest common divisor (GCD) and the least common multiple (LCM) of given a and b. Input Input consists of several 阅读全文
posted @ 2020-04-13 15:09 ジャスミン 阅读(128) 评论(0) 推荐(0)