1 条题解

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

    C++ :

    #include <cstdio>
    typedef long long ll;
    /* 真因子(不含自身)之和 */
    static ll spd(ll n){
        ll s=0;
        for(ll i=1;i*i<=n;i++)
            if(n%i==0){
                if(i<n) s+=i;
                ll j=n/i;
                if(j!=i && j<n) s+=j;
            }
        return s;
    }
    int main(){
        ll S;
        if(scanf("%lld",&S)!=1) return 0;
        for(ll i=S; i<=100000000LL; i++){
            ll a = spd(i);
            if(a==i) continue;                   /* 自己是自己的好友,忽略 */
            if(spd(a)==i){ printf("%lld %lld\n", i, a); return 0; }
        }
        return 0;
    }
    
    
    • 1

    信息

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