唯一分解定理
原题链接:75733.因数分解2026-06-27 11:31:48
发布于:江苏
唯一分解定理:一个数可以由若干个质数相乘得到
#include<bits/stdc++.h>
using namespace std;
long long n;
map<long long,long long> a;
int main()
{
cin >> n;
for(long long i = 2;i * i <= n;i++)
{
while(n % i == 0)
{
a[i]++;
n /= i;
}
}
if(n > 1)
{
a[n]++;
}
for(auto i = a.begin();i != a.end();i++)
{
if(i == a.begin())
{
if(i -> second == 1)
{
cout << i -> first;
}
else
{
cout << i -> first << "^" << i -> second;
}
}
else
{
if(i -> second == 1)
{
cout << " * " << i -> first;
}
else
{
cout << " * " << i -> first << "^" << i -> second;
}
}
}
return 0;
}
这里空空如也





















有帮助,赞一个