給定n個正整數ai,將每一個數分解質因數,並按照質因數從小到大的順序輸出每一個質因數的底數和指數。ide
第一行包含整數n。spa
接下來n行,每行包含一個正整數aiai。code
對於每一個正整數aiai,按照從小到大的順序輸出其分解質因數後,每一個質因數的底數和指數,每一個底數和指數佔一行。xml
每一個正整數的質因數所有輸出完畢後,輸出一個空行。blog
1≤n≤1001≤n≤100,
1≤ai≤2∗1091≤ai≤2∗109class
2 6 8
2 1 3 1 2 3
時間複雜度O(sqrt(n))數據
n中最多隻包含一個大於sqrt(n)的質因子static
代碼:
di
static void divide(int n){ for(int i=2;i<=n/i;i++){//n中最多隻包含一個大於sqrt(n)的質因子,因此只枚舉到sqrt(n)便可,大於的那個單獨處理 if(n%i==0){ int s=0; while(n%i==0){ n/=i; s++; } System.out.println(i+" "+s); } } if(n>1) System.out.println(n+" 1"); System.out.println(); }