算法笔记.分解质因数
代码实现:
#include<iostream>
using namespace std;
void breakdown(int x)
{int t = x;for(int i = 2;i <= x/i;i++){if(t%i == 0){int counts = 0;while(t % i == 0){t/=i;counts++;}cout << i <<" "<< counts<<endl;}}if(t > 1) cout << t <<" " << 1<<endl;//因为大于根号x的质因数不会超过一个,所以这样分大、小质因数处理,将时间复杂度降为根号ncout <<endl;
}int main()
{int n;cin>>n;while(n--){int x;scanf("%d",&x);breakdown(x);}return 0;
}
性能:
将时间复杂度降为