提交时间:2025-10-18 13:38:19
运行 ID: 38614
#include<bits/stdc++.h> #define int long long #define __ __int128 using namespace std; void testread(){ freopen("min.in","r",stdin); freopen("min.out","w",stdout); } short check[10000010]; int num[10000010]; signed main(){ //testread(); ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); int _; //cin>>_; _=1; while(_--){ int n; cin>>n; int siz=0; for(int i=2;i<=n;i++){ if(!check[i]){ siz++; num[siz]=i; for(int j=2;j*i<=n;j++)check[i*j]=1; } } siz++; num[siz]=3355033633550336; int x=1,ans=1; for(int i=2;i<=n;i++){ if(i==num[x]){if(i==3){ans++;}x++;continue;} else{ if(abs(i-num[x-1])<abs(i-num[x])){ ans+=abs(i-num[x-1]); }else if(abs(i-1-num[x-1])<abs(i-1-num[x])&&!(abs(i-num[x-1])<abs(i-num[x]))){ ans+=abs(i-num[x-1])+abs(i-num[x]); }else{ ans+=abs(i-num[x]); } } } cout<<ans<<endl; } return 0; }