7.26知识小结

一、C++小结 

A.   

rp是个引用,引用的是一个指针指向的是int型

int *&rp=p; 


数组的引用:

arry[10];
int (&r)[10] = arry;

引用必须在创建时,确定引用对象。

在C++中malloc必须强制类型转换。

B. 动态挖坑在堆区 new delete

   

 int *p;    
p = new int;    
*p = 3;    
cout <


如果是开辟一块空间给数组,delete的时候有区别。

int *p;    
p = new int[10];   
cout <

二、数论基础
A.算术基本定理,每个大于等于2的正数,可唯一分解为素数乘积
引理:p是素数,假设p整除ab,则p整除a或者p整除b。
定理:假设素数p整除乘积a1a2a3....ar,则p整除a1,a2,....,ar至少一个因数

约数个数定理:

对于一个大于1正整数n可以分解质因数:

例如: 675=5*5*3*3*3

B.质数部分

孪生素数定理: 除了2、3,所有素数都在6的倍数的两边。

bool judge (){    
if (n==2||n==3) return true;    
if (n % 6 != 1&& n % 6 != 5) 
return false;  //但是在6倍数两侧的不一定都是素数 这样做只是缩小了范围    
for (int i = 5; i< sqrt(n);i += 6){        
if (n%i==0||n%(i+2)==0){
return false ;
}    
}   
return true ;
}

筛选,先标记
 

bool arry[maxn];
memset(arry,true,sizeof(arry);       
bool judge (){    
for (int i = 2; i 

 

 

你可能感兴趣的:(假期学习)