江湖规矩--先加团,再看题解!
2026-01-20 13:58:19
发布于:广东
9阅读
0回复
0点赞
简要题意
给出一个正整数 N,求它的因数分解式。
分析
题目不难,就是得注意一下细节。
不过既然在入门题库,就给像我一样的萌新讲解一下原理。最简单的做法,是直接从小开始遍历因数。
举个例子,最开始的 2 和 3 都是质数。假如这个数有一个合数因数 6,那么这个因数 6 一定在刚才被替换为 2 和 3 了,所以直接从小找因数输出的一定全是质数。
所以3!2!1!上链接!
呸呸呸,上题解才对嘛~
AC code:
#include <bits/stdc++.h>
using namespace std;
long long N,i=2,ans,sum=1;
int main() {
cin >>N;
long long n=N;
while (sum!=n) {
if (N%i==0) {
int cnt=0;
while (N%i==0) {
N/=i;
cnt++;
}
if (ans)
cout <<" * ";
if (cnt>1)
cout <<i<<'^'<<cnt;
else
cout <<i;
sum=sum*pow(i,cnt);
i=1;
ans++;
}
i++;
}
return 0;
}
靓仔/靓女,点进去链接了吗?点进去后加团了吗?
无责没事,有责感谢🙏
这里空空如也


有帮助,赞一个