关键词:
目录
筛质数
1292. 哥德巴赫猜想【线性筛】
https://www.acwing.com/problem/content/1294/
就先筛出所有的质数,然后枚举找即可。第一次找到的就是答案,因为俩数都是往中间靠的,故越先发现,差越大。
#include<bits/stdc++.h>
using namespace std;
const int N=1e6+10;
int prime[N],st[N],cnt,n;
void init()
int len=1e6;
for(int i=2;i<=len;i++)
if(!st[i]) prime[cnt++]=i;
for(int j=0;prime[j]<=len/i;j++)
st[i*prime[j]]=1;
if(i%prime[j]==0) break;
int main(void)
init();
while(cin>>n,n)
bool flag=0;
for(int i=0;i<cnt;i++)
if(!st[n-prime[i]])
printf("%d = %d + %d\\n",n,prime[i],n-prime[i]);
flag=1;
break;
if(!flag) puts("Goldbach's conjecture is wrong.");
return 0;
1293. 夏洛克和他的女朋友【二分图】
https://www.acwing.com/problem/content/description/1295/
详细题解
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int a[N],n;
bool check(int x)
for(int i=2;i<=x/i;i++) if(x%i==0) return true;
return false;
int main(void)
cin>>n;
bool flag=0;
for(int i=2;i<=n+1;i++) if(check(i)) a[i]=1,flag=1;
if(flag) cout<<2<<endl;
else cout<<1<<endl;
for(int i=2;i<=n+1;i++)
if(a[i]) cout<<2<<" ";
else cout<<1<<" ";
return 0;
196. 质数距离【大区间内筛质数】
https://www.acwing.com/problem/content/description/198/
详细题解
#include<bits/stdc++.h>
using namespace std;
const int N=1e6+10;
typedef long long int LL;
int prime[N],cnt,st[N],l,r;
void init()
cnt=0;
memset(st,0,sizeof st);
int n=1e6;
for(int i=2;i<=n;i++)
if(!st[i]) prime[cnt++]=i;
for(int j=0;prime[j]<=n/i;j++)
st[i*prime[j]]=1;
if(i%prime[j]==0) break;
int main(void)
while(cin>>l>>r)
init();
memset(st,0,sizeof st);
for(int i=0;i<cnt;i++)
LL p=prime[i];
for(LL j=max(2*p,(l+p-1)/p*p);j<=r;j+=p) st[j-l]=1;
cnt=0;
for(int i=0;i<=r-l;i++) if(!st[i]&&i+l>=2) prime[cnt++]=i+l;
if(cnt<2) puts("There are no adjacent primes.");
else
int minv=1,maxv=1;
for(int i=1;i<cnt;i++)
int temp1=prime[i]-prime[i-1];
int min_temp=prime[minv]-prime[minv-1];
int max_temp=prime[maxv]-prime[maxv-1];
if(temp1<min_temp) minv=i;
if(temp1>max_temp) maxv=i;
printf("%d,%d are closest, %d,%d are most distant.\\n",prime[minv-1],prime[minv],prime[maxv-1],prime[maxv]);
return 0;
分解质因数
197. 阶乘分解
https://www.acwing.com/problem/content/199/
详细题解
#include<bits/stdc++.h>
using namespace std;
const int N=1e6+10;
int prime[N],st[N],cnt;
void init(int n)
for(int i=2;i<=n;i++)
if(!st[i]) prime[cnt++]=i;
for(int j=0;prime[j]<=n/i;j++)
st[i*prime[j]]=1;
if(i%prime[j]==0) break;
int main(void)
int n; cin>>n;
init(n);
for(int i=0;i<cnt;i++)
int temp=0;
for(int j=n/prime[i];j;j/=prime[i]) temp+=j;
cout<<prime[i]<<" "<<temp<<endl;
return 0;
快速幂
1289. 序列的第k个数【简单快速幂】
https://www.acwing.com/problem/content/1291/
#include<bits/stdc++.h>
using namespace std;
typedef long long int LL;
const int mod=200907;
LL quick_mi(LL a,LL b,LL p)
LL sum=1;
while(b)
if(b&1) sum=sum*a%p;
b>>=1;
a=a*a%p;
return sum%p;
LL t,a,b,c,k;
int main(void)
cin>>t;
while(t--)
cin>>a>>b>>c>>k;
if(a+c==2*b) cout<<(a+(b-a)*(k-1))%mod<<endl;
else cout<<a*quick_mi(b/a,k-1,mod)%mod<<endl;
return 0;
1290. 越狱【组合数 / 快速幂】
https://www.acwing.com/problem/content/description/1292/
详细题解
#include<bits/stdc++.h>
using namespace std;
typedef long long int LL;
const int mod=100003;
LL n,m;
LL quick_mi(LL a,LL b)
LL sum=1;
while(b)
if(b&1) sum=sum*a%mod;
b>>=1;
a=a*a%mod;
return sum%mod;
int main(void)
cin>>m>>n;
cout<<(quick_mi(m,n)-m*quick_mi(m-1,n-1)%mod+mod)%mod;
return 0;
第五章学习小结(代码片段)
整理一下第五章学到的知识树的基本概念节点:节点包括一个数据元素及若干指向其他子树的分支。节点的度:节点所拥有子树的个数称为节点的度。叶节点:度为0的节点成为叶结点,叶结点也称为终端节点。分支节点:度不... 查看详情
第五章学习小结(代码片段)
第五章学习了树与二叉树的相关知识,有二叉树及其存储结构,二叉树的前中后与层次遍历并且了解了哈夫曼树,最后学习了树与森林的转换。以下是其中的一道实践题,老师在课堂上详细的给出了解题方法7-2 深入虎穴 ... 查看详情
第五章:异常处理(代码片段)
第五章:异常处理知识梳理本章内容分为:异常处理概述、try-catch处理异常、throw和throws、自定义异常。5.1异常处理概述问题:为什么要异常处理???编程中我们常说没有完美的代码,几乎每个应用... 查看详情
数据结构:第五章学习小结(代码片段)
第五章我们主要学习了树和二叉树的定义、性质、存储结构以及部分操作还有哈夫曼树。下图是我对本章所学知识的大致总结: 在这章的代码题中,我也学到了很多,其中Listleaves这题就有很多小细节:1.boolcheck[n]=false;//定义... 查看详情
离散数学第四第五章
第五章eureka服务注册与发现(尚硅谷springcloud)(代码片段)
文章目录一、Eureka基础知识二、单机Eureka构建步骤三、集群Eurake构建步骤四、actuator微服务信息完善五、服务发现Discovery六、eureka自我保护一、Eureka基础知识什么是服务治理1.springcloud封装了Netflix公司开发的Eureka模块来实现服务... 查看详情
docker|第五章:构建自定义镜像(代码片段)
前言上一章节,主要是介绍了下Dockerfile的一些常用命令的说明。我们知道,利用Dockerfile可以构建一个新的镜像,比如运行Java环境,就需要一个JDK环境的镜像,但直接使用公共的镜像时,一般上大小都比较大。所以本章节就主要... 查看详情
ds|数据结构||第五章小结(代码片段)
本章主要学习了树和二叉树相关知识,包括二叉树的性质和存储结构(双亲表示法、孩子表示法、孩子兄弟法),二叉树的前、中、后序遍历算法等,还了解了哈夫曼树和哈夫曼编码的构造方法,以及森林与二... 查看详情
云计算第五章(代码片段)
Cloud-EnablingTechnology云使能技术BroadbandNetworksandInternetArchitecture宽带和Internet架构-Allcloudsmustbeconnectedtoanetwork(InternetorLAN)Thepotentialofcloudplatformsthereforegenerallygrowsinparallelwithadv 查看详情
《数学之美》——第五章个人笔记
第五章 隐含马尔可夫模型1通信模型通信的本质是一个编解码和传输的过程。典型的通信系统:包含雅格布森通信的六个要素:发送者(信息源),信道,接收者,信息,上下文和编码。其中S1,S2,S3,...表示信息源发... 查看详情
第五章:变量(代码片段)
变量:int表示整数double表示带小数点的char表示单个字符string表示在存储字符串的变量bool表示判断真假usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceAnt1///<summary>// 查看详情
第五章小结(代码片段)
第五章学习了二叉树:每个结点至多只有两颗子树,且子树有左右之分。二叉树的遍历:几乎所有操作建立在遍历的基础上,利用递归完成二叉树前(根)序,中(根)序,后(根)序遍历。 voidPreOrderTraverse(BiTreeT)If(T)//若二... 查看详情
第五章(代码片段)
认识模块什么是模块模块的导入和使用常用模块一collections模块时间模块random模块os模块sys模块序列化模块re模块 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀。&nb... 查看详情
第五章内容小结(代码片段)
在第五章,我们学习了树这个数据结构,并且学习了其定义、遍历等操作,最后还学习了哈夫曼树。一.树的遍历树的遍历操作有以下三种:1。先序遍历(根,左孩子,右孩子)voidPreOrderTravel(nodet[],intx)cout<<t[x].name<<"";if(... 查看详情
《学习之道》第五章认识拖延
现实就是,我们拖延的,往往是让我们感到不安的事情。 医学成像研究显示,恐惧数学的人会回避数学,因为仅是想到数学就让他们畏缩了。 当他们冥思苦想地对付数学时,大脑中的痛觉中心就会被激活。 值得... 查看详情
《算法》第五章部分程序part1(代码片段)
?书中第五章部分程序,包括在加上自己补充的代码,字母表类,字符串低位优先排序(桶排)●字母表类1packagepackage01;23importedu.princeton.cs.algs4.StdOut;45publicclassclass0167publicstaticfinalclass01BINARY=newclass01("01");89publicstaticfinalclass01 查看详情
python第五章函数(代码片段)
第五章函数5.1三元运算/三目运算v=前面if条件语句else后面#如果条件成立,"前面"赋值给v,否则后面赋值给v.v=aifa>belseb#取a和b中值较大的赋值给v#让用户输入值,如果值是整数,则转换成整数,否则赋值为Nonedata=input('请... 查看详情
节习题答案(第五章)(代码片段)
以下答案仅供参考,有错欢迎留言。Chapter5:TheRenderingPipeline1.Constructthevertexandindexlistofapyramid(金字塔),asshowninFigure5.35(即下图).Vertex pyramid[5]=v0,v1,v2,v3,v4,v5;//注意要从面的out 查看详情