PAT 2-07. 素因子分解(20)
题目链接:http://www.patest.cn/contests/ds/2-08
题目意思:long int范围内的正整数N进行素因子分解。
直接整除即可,不需要素数筛选
代码如下:
#include<iostream> using namespace std; int main() { long int n; cin>>n; if(n==1) { cout<<"1=1"<<endl; } else { cout<<n<<"="; for(int i=2;i<=n;i++)//从2一直到n { int k=0; if(n%i==0) { do { n/=i; k++; }while(n%i==0); if(k>1) { cout<<i<<"^"<<k; } else { cout<<i; } if(n/i>0) { cout<<"*"; } } } } return 0; }