题解 | 分解质因数
分解质因数
https://www.nowcoder.com/practice/35723516d6f841ca8869ecbcf3ddacaf
#include <bits/stdc++.h>
using namespace std;
using ll=long long;
auto isprime(ll n)->bool{
if(n<2)return false;
if(n==2||n==3)return true;
if(n%2==0||n%3==0)return false;
for(ll i=5;i*i<=n;i+=6){
if(n%i==0||n%(i+2)==0)return false;
}
return true;
}
int main(){
ll n;
cin>>n;
for(ll i=2;i<=n;i++){
if(isprime(i)){
while(n%i==0){
cout<<i<<" ";
n/=i;
if(n==1)break;
}
}
}
return 0;
}
查看6道真题和解析