想问问为什么蜜汁RE
查看原帖
想问问为什么蜜汁RE
206258
SDNetFriend楼主2020/7/22 11:21

就塞到vjudge上一直提示RE,提交到洛谷就会有个vjudge.uva_public_account的提示……也不知道是怎么回事……

#include <iostream>
#include <cstdio>
#include <cmath>
#include <ctime>
#define MAXN 1100005
using namespace std;
bool num[MAXN]={0};//false为质数
int prime[MAXN],N,cnt;
long long int sumEular[MAXN]={0};
void Prime(){//Right
    cnt=0;
    for(int i=2;i<MAXN;++i){
        if(num[i]==false)prime[cnt++]=i;
        for(int j=0;j<cnt&&i*prime[j]<MAXN;++j){
            num[i*prime[j]]=true;
            if(i%prime[j]==0)break;
        }
    }
}
int n,ans,Start,End,timesum=0;
int main(){
    //Start=clock();
    Prime();
    /*for(int i=0;i<cnt;++i)
        cout<<prime[i]<<" ";
    cout<<endl;*/
    for(int t=2;t<=MAXN;++t){
        n=t;
        ans=n;
        for(int i=0;i<cnt&&prime[i]*prime[i]<=n;++i){
            if(n%prime[i]==0)
                ans=ans-ans/prime[i];
            while(n%prime[i]==0)
                n/=prime[i];
        }
        if(n>1)ans=ans-ans/n;
        sumEular[t]=sumEular[t-1]+ans;
    }
    //End=clock();
    //timesum+=End-Start;
   // cout<<"time sum="<<timesum*1000/CLOCKS_PER_SEC<<endl;
    while(cin>>N&&N!=0){
        //Start=clock();
        //cout<<"Eular["<<t<<"]="<<Eular[t]<<endl;
        //End=clock();
        cout<<sumEular[N]<<endl;
        //timesum+=End-Start;
       // cout<<"time sum="<<timesum*1000/CLOCKS_PER_SEC<<endl;
    }
    return 0;
}

有没有大佬帮我看下我这个蒟蒻的代码

2020/7/22 11:21
加载中...