萌新刚学OI,求大佬查错(WA三个点)

P1593 因子和

吴铭轼 @ 2019-09-07 09:55:58

include <bits/stdc++.h>

using namespace std; long long mod=9901;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; long long mi(long long t,long long k) { long long ans=1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; while(k>0) { if(k%2==1) { ans=t;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ans%=mod;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; } k/=2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; t=t;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; t%=mod;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; } return ans;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; } int prime[10004],cnp=0,isprime[10004];;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; long long A,B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; long long cprime[10004];;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; long long niyuan[10004]={0,1};;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; int main() { for(int i=2;i<mod;i++) { if(!isprime[i]) prime[++cnp]=i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; for(int j=1;prime[j]i<=mod&&j<=cnp;j++) isprime[iprime[j]]=1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; } for(int i=2;i<mod;i++) { niyuan[i]=(mod-(mod/i))niyuan[mod%i]%mod;;;;;;;;;;;;;;;;;;;; } for(int i=1;i<mod;i++) cprime[i]=1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; cin>>A>>B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; for(int i=1;i<=cnp;i++) { long long t=A,st=0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; while(t%(prime[i])==0) { st++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; t/=prime[i];;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; } if(st) { st=B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; long long a=mi(prime[i],st+1)-1;;;;;;;;;;;;;;;;;;;;;;;;;; long long b=prime[i]-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; cprime[i]=aniyuan[b]%mod;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; } } long long ans=1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; for(int i=1;i<=mod;i++) { if(cprime[i]>1) { ans=cprime[i];;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ans%=mod;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; } } cout<<ans;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; return 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; }


by 吴铭轼 @ 2019-09-07 09:56:17

#include <bits/stdc++.h>
using namespace std;
long long mod=9901;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
long long mi(long long t,long long k)
{
    long long ans=1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    while(k>0)
    {
        if(k%2==1)
        {
            ans*=t;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
            ans%=mod;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
        }
        k/=2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
        t*=t;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
        t%=mod;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    }
    return ans;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
}
int prime[10004],cnp=0,isprime[10004];;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
long long A,B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
long long cprime[10004];;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
long long niyuan[10004]={0,1};;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
int main()
{
    for(int i=2;i<mod;i++)
    {
        if(!isprime[i])
        prime[++cnp]=i;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
        for(int j=1;prime[j]*i<=mod&&j<=cnp;j++)
        isprime[i*prime[j]]=1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    }
    for(int i=2;i<mod;i++)
    {
        niyuan[i]=(mod-(mod/i))*niyuan[mod%i]%mod;;;;;;;;;;;;;;;;;;;;
    }
    for(int i=1;i<mod;i++)
    cprime[i]=1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    cin>>A>>B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    for(int i=1;i<=cnp;i++)
    {
        long long t=A,st=0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
        while(t%(prime[i])==0)
        {
            st++;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
            t/=prime[i];;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
        }
        if(st)
        {
            st*=B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
            long long a=mi(prime[i],st+1)-1;;;;;;;;;;;;;;;;;;;;;;;;;;
            long long b=prime[i]-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
            cprime[i]=a*niyuan[b]%mod;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
        }
    }
    long long ans=1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    for(int i=1;i<=mod;i++)
    {
        if(cprime[i]>1)
        {
            ans*=cprime[i];;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
            ans%=mod;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
        }
    }
    cout<<ans;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    return 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
}

by Flandre_495 @ 2019-09-07 10:16:58

码风好评。。。


by J10c @ 2019-09-07 10:18:12

在?为什么要打那么多分号?


by 黑佬 @ 2019-09-07 11:12:11

去你的萌新


by 黑佬 @ 2019-09-07 11:12:31

去你的刚学OI


by NOIPer40 @ 2019-09-07 11:13:57

来这里帮忙看看


by NOIPer40 @ 2019-09-07 11:15:30

@黑佬

Orz


by 黑佬 @ 2019-09-07 11:16:49

来这里看看@NOIPer40


by 黑佬 @ 2019-09-07 11:22:03

来这里看看吧


|