AKSZ-枚举算法
2024-03-17 17:31:31
发布于:广东
第二课
进制转化
十进制以0开头
二进制以0b开头
十六进制以0x开头
###十进制转x进制
整数部分除x余数逆序排列
小数部分×x取整顺序排列
枚举算法/爆破
将所有可能都试一遍
枚举三要素
枚举对象、枚举范围和判定条件
###水仙花数
枚举对象:三位数
枚举范围:100~999
判定条件:水仙花数
##埃氏筛法
#include<bits/stdc++.h>
using namespace std;
const int N=2*1e6;
int n=N,p[N+5],x,ans;
void init(){
for(int i=2;i<=n;i++){
if(!p[i]){
for(int j=i*2;j<=n;j+=i){
p[j]=1;
}
}
}
}
int main(){
init();
cin>>x;
for(int i=2;i<=x;i++){
if(!p[i])ans++;
}
cout<<ans;
return 0;
}
这里空空如也
有帮助,赞一个