分解质因数
-
核心思想:试除法(从小到大枚举所有数)
-
#include<iostream>#include<algorithm>using namespace std;void div(int n){for(int i=2;i<=n/i;i++){if(n%i == 0) //找到最小质数i{int s=0;while(n%i == 0){n/=i;s++; //记录指数}cout<<i<<" "<<s<<endl; //输出第一个因数}}if(n>1) cout<<n<<" "<<1<<endl; //不是1 就输出第二个因数puts(" ");}int main(){int n;cin>>n;while(n--){int x;cin>>x;div(x);}return 0;}
-