当前位置: 首页 > news >正文

中信建设有限责任公司内部网站网页模板源代码

中信建设有限责任公司内部网站,网页模板源代码,大良营销网站建设教程,产品详情页面设计Halo,这里是Ppeua。平时主要更新C语言,C,数据结构算法......感兴趣就关注我吧!你定不会失望。 🌈个人主页:主页链接 🌈算法专栏:专栏链接 现已更新完KMP算法、排序模板,之…

Halo,这里是Ppeua。平时主要更新C语言,C++,数据结构算法......感兴趣就关注我吧!你定不会失望。

 

🌈个人主页:主页链接

🌈算法专栏:专栏链接

     现已更新完KMP算法、排序模板,之后我会继续往里填充内容哒。

🌈LeetCode专栏:专栏链接 

    目前在刷初级算法的LeetBook 。若每日一题当中有力所能及的题目,也会当天做完发出

🌈代码仓库:Gitee链接

🌈点击关注=收获更多优质内容🌈

用一篇Blog来讲解下最近学到的数论,为日后的刷题打下坚实的基础。

目录

试除法判断质数:

朴素做法:

代码模板:

改进做法:

 代码模板:

分解质因数:

 代码模板:

筛质数:

 埃式筛法:

欧拉筛(线性筛):

完结撒花:


什么是质数?

一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数

试除法判断质数:

朴素做法:

将定义进行模拟,若整除了除1与其自身的另外的数,则为质数

代码模板:

#include<iostream>
using namespace std;
int n;
void prime(int x)
{if(x<2){cout<<"No"<<endl;return;}for(int i=2;i<=x;i++){if(x%i==0){cout<<"No"<<endl;return ;}}cout<<"Yes"<<endl;return;
}
int main()
{cin>>n;while(n--){int x;cin>>x;prime(x);}
}

改进做法:

一个数的两个因数都是成对出现的,例如:6的因数为 1 2 3 6 

这里的2与3是成对出现的。所以我们无需从2-x的范围去遍历,因为若前半部分没有出现,则后半部分必然没有其因数

通过反证法:若后半部分有其因数,则就会出现这两个因数相乘会大于其本身。

所以应该满足 i*i<=x的范围,但又因为i*i在数字极大的情况下,很容易溢出,所以改成i<=x/i

 代码模板:

#include<iostream>
using namespace std;
int n;
void prime(int x)
{if(x<2){cout<<"No"<<endl;return;}for(int i=2;i<=x/i;i++){if(x%i==0){cout<<"No"<<endl;return ;}}cout<<"Yes"<<endl;return;
}
int main()
{cin>>n;while(n--){int x;cin>>x;prime(x);}
}

分解质因数:

 

与上文相同,依然是用到了i*i<=n的这个性质,需要注意一下,最多存在一个>=sqrt(n)的质因子,同样可以用反证法来证明,这里就不过多赘述.所以当最后跳出循环时若还存在x>1,也就是没有被模掉的情况时,则认为x为其较大的那个因子,也需要放进去.

若一个数能整除i,则i是其一个因子,又因为我们从小到达进行遍历,被整除的这个i必然为质因子,因为若为普通因子,在循环整除的时候已经被消掉了,化为其指数.

 代码模板:

#include<iostream>
using namespace std;
void divide(int x)
{for(int i=2;i<=x/i;i++)if(x%i==0){int s=0;while(x%i==0){x/=i;s++;}printf("%d %d\n",i,s);}if(x>1)printf("%d %d\n",x,1);puts("");return ;
}
int main()
{int n=0;cin>>n;while(n--){int x;cin>>x;divide(x);}return 0;
}

筛质数:

 

 埃式筛法:

一个约数其必然可以由数相乘得到.

假设有如下2到10的数

埃式筛法的核心就是:从头遍历每个数字,将其与每一个小于本身它本身的质数相乘,再将之后的数标记为非质数

也就是这样

 可以看出 这里的质数就为2 3 5 7,

但我们很快就会发现,这个算法有一个弊端,假设这里的范围到12,就会出现当4*3的时候把十二标记为false了,但6*2又会将其标记一次,十分的不优雅.

所以就提出了另一个改进的算法

欧拉筛(线性筛):

当发现相乘的这个质数为其最小质因子时,则停止遍历

#include<iostream>
using namespace std;
const int N=1e6+9;
bool st[N];
int prime[N];
int main()
{int n=0;int cnt=0;cin>>n;for(int i=2;i<=n;i++){if(!st[i]){prime[cnt++]=i;}for(int j=0;prime[j]<=n/i;j++){st[prime[j]*i]=true;if(i%prime[j]==0)break;}}cout<<cnt;
}

完结撒花:

🌈本篇博客的内容【数论:试除法判断质数,分解质因数,筛质数】已经结束。

🌈若对你有些许帮助,可以点赞、关注、评论支持下博主,你的支持将是我前进路上最大的动力。

🌈若以上内容有任何问题,欢迎在评论区指出。若对以上内容有任何不解,都可私信评论询问。

🌈诸君,山顶见!

http://www.yayakq.cn/news/292934/

相关文章:

  • 合肥外贸网站建设公司图片上传不了网站
  • 生产建设兵团第三师政务网站西安知名网站建设
  • 360企业自助建站电商网站建设去迅法网
  • 长春免费网站建站模板京东物流网站建设策划书
  • 哔哩哔哩网站开发图片考试源码网站wordpress
  • wordpress网站访问验证码中企动力做的网站被镜像
  • 旅游公司的网站怎么做网站官网认证怎么做
  • 会议网站开发学服装设计的就业方向
  • 做自己的网站有什么用一键网站提交
  • 企业网站建设可以分为哪些层次做外贸产品上什么网站
  • 手机网站怎么打开做网站对企业的好处
  • 个人网站模板源码下载投资公司经营范围大全
  • 庙行镇seo推广网站营口企业网站建设
  • 网站建设推广代理wordpress更改了数据库密码
  • 福州做公司网站微信开发者工具怎么使用
  • 昆明网站建设网站做网站用什么浏览器最好
  • 手机号注册网站做百度移动端网站软件
  • 在网站制作意见征集是怎么做的石家庄软件开发公司有几家
  • 找个专门做各种外卖的网站广东公司排名
  • 八年级信息上册如何做网站如何注册一个免费网站
  • 辽宁省住房与城乡建设厅网站织梦cms做电影网站
  • 网站模版 百度云网站建设杭州公司
  • 用凡科做的网站打不开建设网站的预期收益
  • 龙南县建设局网站哪个cms方便快速建站
  • 企业门户网站页面模板农业生态园电商网站建设
  • 发帖子最好的几个网站360提示的危险网站
  • 深圳电子商务网站建设公司70 网站制作
  • 网站seo在哪里设置外贸五金网站
  • app定制公司seo服务工程
  • 网站建设管理工作自查报告藁城区建设局网站