1 条题解

  • 0
    @ 2026-9-30 13:01:01

    C++ :

    #include <cstdio>
    typedef long long ll;
    int main(){
        ll a,b;
        if(scanf("%lld %lld",&a,&b)!=2) return 0;
        while(b){ ll t=a%b; a=b; b=t; }           /* a = gcd */
        if(a==1){ printf("-1\n"); return 0; }
        ll g=a;
        for(ll i=2;i*i<=g;i++)
            if(g%i==0){ printf("%lld\n", g/i); return 0; }   /* 最小质因子除一次 */
        printf("1\n");
        return 0;
    }
    
    

    信息

    ID
    2907
    时间
    1000ms
    内存
    256MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者