1.求gcd,算法为欧几里德(辗转相除法)2.解一元二次方程,算法为扩展欧几里德3.求素数,算法为埃氏筛法4.快速进行幂运算,算法快速幂(反复平方)5.解线性同余方程,求逆元(基于exgcd)6.其它用来优化模运算的定理,欧拉定理(费马小定理),相应的函数欧拉函数
分类:
其他好文 时间:
2014-08-07 12:49:39
阅读次数:
239
筛法求素数,寻找素数最经典快速的方法!!!
用筛法求素数的基本思想是:
把从1开始的、某一范围内的正整数从小到大顺序排列, 1不是素数,首先把它筛掉。剩下的数中选择最小的数是素数,然后去掉它的倍数。依次类推,直到筛子为空时结束。如有:
1 2 3 4 5 6 7 8 9 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29...
分类:
其他好文 时间:
2014-08-06 23:01:02
阅读次数:
212
Description
The branch of mathematics called number theory is about properties of numbers. One of the areas that has captured the interest of number theoreticians for thousands of years is the qu...
分类:
其他好文 时间:
2014-08-06 19:06:42
阅读次数:
319
一:素数的基本求法:bool pd(int x){ if(x==1)return false; for(int i=2;i*i1。那么必然存在点(x/k,y/k),会挡住(x,y)。问题就变成了:求1-N中,所有与N互质的数的个数。这不就是欧拉函数....so,ans=(euler(1)...
分类:
其他好文 时间:
2014-07-28 11:30:40
阅读次数:
240
基本的求素数方法。其中要注意的是sqrt(double),所以用sqrt(n*1.0)。还有flag标记的使用。 1 #include 2 #include 3 using namespace std; 4 #define N 100000000 5 int main() 6 { 7 int...
分类:
其他好文 时间:
2014-07-25 14:01:41
阅读次数:
185
题目:给出一个正整数n,打印出所有从1~n的素数(即质数);关键是要找出一个判断一个正整数n是否为素数的方法...傻瓜解法--n,n/2 1 #include 2 int main() 3 { 4 int i,n; 5 while(scanf("%d",&n)==1) 6 { for(i...
分类:
其他好文 时间:
2014-07-18 15:19:43
阅读次数:
192
1 import java.util.Scanner; 2 3 /** 4 * Created by Administrator on 14-5-20. 5 */ 6 public class Sieve { 7 public static void main(String[] ar...
分类:
其他好文 时间:
2014-07-15 00:35:52
阅读次数:
265
质数又称素数。指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数。换句话说,只有两个正因数(1和自己)的自然数即为素数。比1大但不是素数的数称为合数。1和0既非素数也非合数。合数是由若干个质数相乘而得到的。所以,质数是合数的基础,没有质数就没有合数。
求素数的方法有很多种,最简单的方法是根据素数的定义来求。对于一个自然数N,用大于1小于N的各个自然数都去除一...
分类:
其他好文 时间:
2014-07-10 17:50:13
阅读次数:
175