一个轻松的偏分代码

P1029 [NOIP2001 普及组] 最大公约数和最小公倍数问题

lucy2012 @ 2024-08-30 14:47:15

原本只是想碰碰运气(因为感觉可以不用gcd,还没有找到完整的规律,烦死了),提交的半成品代码,结果骗了70分(数据太弱了),这个是代码:

#include<bits/stdc++.h>
using namespace std;
int x,y,prime[100010]; 
long long ans=1,num,q;
int main(){   
    for(int i=2;i<=100000;i++){
        if(!prime[i]){
            for(int j=i*2;j<=100000;j+=i){
                prime[j]=1;
            }
        }
    }
    cin>>x>>y;
    q=y/x;
    for(int i=2;i<=q;i++){
        if(!prime[i]&&q%i==0){
            num++;
        }
    }
    cout<<num*2;
    return 0;
}

by lucy2012 @ 2024-08-30 14:53:55

@lucy2012 我这个代码完全不同了:

#include<bits/stdc++.h>
using namespace std;
int x,y,prime[100010]; 
long long ans=1,num,q;
int main(){   
    for(int i=2;i<=100000;i++){
        if(!prime[i]){
            for(int j=i*2;j<=100000;j+=i){
                prime[j]=1;
            }
        }
    }
    cin>>x>>y;
    q=y/x;
    for(int i=2;i<=q;i++){
        if(!prime[i]&&q%i==0){
            num++;
        }
    }
    for(int i=num;i>=2;i--){
        ans*=i;
    }
    cout<<ans*2;
    return 0;
}

结果还是60分哈哈哈!只能说数据太水了,建议加强


by lucy2012 @ 2024-08-30 14:54:34

@lucy2012 话说才发现我这是错解,又要重新打代码了


by AKPC @ 2024-08-30 14:58:19

橙题骗什么分啊


by ycy130114 @ 2024-09-04 20:03:33

@lucy2012 wcwc,你的骗分代码在P10940里可以拿10分!!!

证明


|