#include<bits/stdc++.h>
#define int long long
#define IOS std::ios::sync_with_stdio(false),cin.tie(0),cout.tie(0)
using namespace std;
const int N = 1e7+5;
int va[N],cnt = 0;//va存的是分解质因子后每个质因子的指数
//cnt是有多少个质因子
void sb(int x)
{
for(int i = 2;i<=x/i;i++)
{
if(x%i == 0)
{
cnt++;
while(1)
{
va[cnt]++;
x /= i;
if(x%i !=0) break;
}
}
}
if(x != 1) va[++cnt] = 1;
}
signed main()
{
IOS;
int n;
cin>>n;
sb(n);
int sum = 1;
for(int i = 1;i<=cnt;i++)
{
sum *= (va[i]+1);//列如一个质因子的指数为2,从0-2共3种,所有质因子不同指数搭配的乘积为所有因子,所60 = 2*2*3*5,(那么共有3*2*2 = 12个因子)
}
cout<<sum;
}
因子的个数
于 2024-06-30 15:59:46 首次发布