mirror of
https://gitcode.com/Zengtudor/alg2025.git
synced 2025-12-17 04:33:02 +00:00
feat: 添加两个新的算法实现文件
添加了vowel-spellchecker.cpp和P8901.cpp两个算法实现文件。P8901.cpp实现了基于筛法的素数处理功能,包含输入处理和主逻辑
This commit is contained in:
parent
0d64ce82d3
commit
367e1927a5
3
src/9/14/vowel-spellchecker.cpp
Normal file
3
src/9/14/vowel-spellchecker.cpp
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
int main(){
|
||||||
|
|
||||||
|
}
|
||||||
57
src/9/21/P8901.cpp
Normal file
57
src/9/21/P8901.cpp
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
#include <bitset>
|
||||||
|
#include <cstdint>
|
||||||
|
#include <cstdio>
|
||||||
|
#include <iostream>
|
||||||
|
#include <istream>
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
|
using ll = int64_t;
|
||||||
|
|
||||||
|
const ll maxa=5e6+5;
|
||||||
|
std::vector<ll> a, t;
|
||||||
|
std::bitset<maxa> isp;
|
||||||
|
|
||||||
|
static inline void solve(){
|
||||||
|
ll n;
|
||||||
|
std::cin>>n;
|
||||||
|
a.clear();
|
||||||
|
a.resize(n+1);
|
||||||
|
for(ll i=1;i<=n;i++){
|
||||||
|
ll tmp;
|
||||||
|
std::cin>>tmp;
|
||||||
|
a[i]=t[tmp];
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(){
|
||||||
|
std::iostream::sync_with_stdio(false);
|
||||||
|
std::cin.tie(nullptr);
|
||||||
|
|
||||||
|
isp.set();
|
||||||
|
for(ll i=2;i<isp.size();i++){
|
||||||
|
if(!isp[i])continue;
|
||||||
|
for(ll j=2;i*j<isp.size();j++){
|
||||||
|
isp[i*j]=false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// for(ll i=1;i<=100;i++)if(isp[i])std::cout<<i<<"\n";
|
||||||
|
t.resize(maxa);
|
||||||
|
for(ll i=1;i<t.size();i++){
|
||||||
|
ll nt=0,ni=i;
|
||||||
|
while(ni>=4){
|
||||||
|
if(isp[ni]){
|
||||||
|
t[i]=nt;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
nt++;
|
||||||
|
ni-=4;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for(ll i=1;i<=100;i++)printf("t[%lld]=%lld\n",i,t[i]);
|
||||||
|
ll T;
|
||||||
|
std::cin>>T;
|
||||||
|
while(T--){
|
||||||
|
solve();
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user