题解 | 矩形游戏
矩形游戏
https://www.nowcoder.com/practice/5b6c2c824a434b55a5e3b77619c54a90
#include<bits/stdc++.h>
using namespace std;
using ll=long long;
using ull=unsigned long long;
using i128=__int128_t;
using u128=__uint128_t;
using ld=long double;
ll F(ll x)
{
for(ll i=2;i*i<=x;i++)
{
if(x%i==0) return i;
}
return 1;
}
void solve()
{
ll n;//我们每次分解出ci的最小质因子即可 让ci除以最小质因子的结果当ci+1 直到最小质因子为1 最后结果加上1即可
cin >> n;
ll sum=n;
while(n!=1)
{
if(F(n)==1)
{
sum+=1;
n=1;
}
else
{
sum+=n/F(n);
n/=F(n);
}
}
cout << sum;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
int t=1;
//cin >> t;
while(t--)
{
solve();
}
return 0;
}

查看5道真题和解析