40 qwq
查看原帖
40 qwq
1392551
ruo_aqueous楼主2024/10/3 10:51
#include "bits/stdc++.h"
using namespace std;
long long a,zd[1005];

long long z(long long k){
    
    if (zd[k])  return zd[k];
	long long sum = 0;
    for (int i = 1;i < k;i ++)
        if (k%i == 0)   sum += i;
    zd[k]=sum;
    return zd[k];
    
}
long long gcd(long long x,long long y,long long sum){
    
    if (y>x||y>a)    return sum;
    else return max(gcd(x-y,y+1,sum+z(y)),gcd(x,y+1,sum));
    
}
int main(){
    
    cin >> a;
    cout << gcd(a,1,0);
    return 0;
    
}
2024/10/3 10:51
加载中...