feat: 添加两个新的算法实现文件

添加了vowel-spellchecker.cpp和P8901.cpp两个算法实现文件。P8901.cpp实现了基于筛法的素数处理功能,包含输入处理和主逻辑
This commit is contained in:
Zengtudor 2025-09-21 16:41:00 +08:00
parent 0d64ce82d3
commit 367e1927a5
2 changed files with 60 additions and 0 deletions

View File

@ -0,0 +1,3 @@
int main(){
}

57
src/9/21/P8901.cpp Normal file
View 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();
}
}