B3871 因数分解 题解
博客食用观感更佳
简要题意
给出一个正整数
分析
题目不难,就是得注意一下细节。
不过既然在入门题库,就给像我一样的萌新讲解一下原理。最简单的做法,是直接从小开始遍历因数。
举个例子,最开始的
代码
#include<bits/stdc++.h>
using namespace std;
long long n,a;
int p=0;
int main(){
cin>>n;
a=n;
for(long long i=2;i<=sqrt(n);i++){
if(a%i==0){
int s=0;
while(a%i==0){
a/=i;
s++;
}
if(p)cout<<"* ";
if(s!=1)cout<<i<<"^"<<s<<" ",p=1;
else cout<<i<<" ",p=1;
}
}
if(a!=1){
if(a!=n)cout<<"* "<<a;
else cout<<a;
}
return 0;
}
感谢阅读!