本文共 736 字,大约阅读时间需要 2 分钟。
今天我没有立马开始我的分工任务,由于最近的比赛用到的数学知识比较多,我就看了一些数学。
写一下质数的几个常用代码:
要判断质数:
bool Prime(n){for(int i=2;i<=Math.sqrt(n);i++){ if(n%i==0){ return false; } } return true;}
质数的筛选:
#includeconst int Max=10010;int n;int vis[Max];using namespace std;int main(){ scanf("%d",&n); for(int i=2;i<=n;i++) { if(vis[i]) continue; cout< <<" "; for(int j=i;j<=n/i;j++) vis[i*j]=1; } return 0;}
质因子分解:
void divide(int n){ m = 0; for(int i = 2;i <= sqrt(n);i++) { if(n % i == 0) //i是质数 { p[++m] = i,c[m] = 0; while(n % i == 0) n/= i,c[m]++; } } if(n > 1) //n是质数 { p[++m] = n,c[m] = 1; } for(int i = 1;i <= n;i++) cout< <<"^"<<<"\n";}
转载地址:http://dmyzi.baihongyu.com/