定义:
(1)任何一个大于1的自然数 N,如果N不为质数,那么N可以唯一分解成有限个质数的乘积
即 N = P₁^a₁ * P₂^a₂ * P₃^a₃ ......这里P1<P2<P3......<Pn均为质数,其中指数ai是正整数。这样的分解称为 N 的标准分解式。
#include<bits/stdc++.h>
typedef long long ll;
using namespace std;
const int maxn = 1e5+5;
void divided(ll n){
ll p[maxn], c[maxn];
ll cnt = 0, m = n;
for(ll i = 2; i * i <= n; i++){
if(n % i == 0){
p[cnt] = i; c[cnt] = 0;
while(n % i == 0){
n = n / i;
c[cnt]++;
}
cnt++;
}
}
if(n > 1){
p[cnt] = n, c[cnt] = 1;
cnt++;
}
for(ll i = 0; i < cnt; i++){
printf("%lld^%lld\n", p[i], c[i]);
}
}
int main(){
ll n;
cin >> n;
divided(n);
return 0;
}
(2)所有正因数之和为σ2 = (1+p1+p1^2+...p1^a1)* (1+p2+p2^2+....p2^a2) * ..... *(1+pn+pn^2+.....pn^an);当σ2(N) = 2*N时称N为完全数,是否存在奇完全数,尚不明确