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 <<p << endl;    
delete p;


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

int *p;    
p = new int[10];   
cout <<p << endl;    
delete []p;    
return 0;

二、数论基础
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 <maxn; i++){        
if (arry[i]){            
for (int j = i; j < maxn; j+=i){                
arry[i]=false;            
}       
}    
}
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值