分解质因数(数学)
文章目錄
- Question
- Ideas
- Code
Question
給定 n 個正整數(shù) ai,將每個數(shù)分解質(zhì)因數(shù),并按照質(zhì)因數(shù)從小到大的順序輸出每個質(zhì)因數(shù)的底數(shù)和指數(shù)。
輸入格式
 第一行包含整數(shù) n。
接下來 n 行,每行包含一個正整數(shù) ai。
輸出格式
 對于每個正整數(shù) ai,按照從小到大的順序輸出其分解質(zhì)因數(shù)后,每個質(zhì)因數(shù)的底數(shù)和指數(shù),每個底數(shù)和指數(shù)占一行。
每個正整數(shù)的質(zhì)因數(shù)全部輸出完畢后,輸出一個空行。
數(shù)據(jù)范圍
 1≤n≤100,
 2≤ai≤2×109
 輸入樣例:
 2
 6
 8
 輸出樣例:
 2 1
 3 1
2 3
Ideas
試除法分解質(zhì)因數(shù)
 需要注意 只有大于2的自然數(shù)才可以
每個大于1的自然數(shù),若不是本身就是質(zhì)數(shù),就可寫為2個以上的質(zhì)數(shù)的積,而且這些質(zhì)因子按大小排列之后,寫法僅有一種方式
Code
# 試除法分解質(zhì)因數(shù) O(sqrt(N) 比試除法求質(zhì)數(shù)快 n = int(input())def divide(x):for i in range(2,int(x**0.5)+1):if x % i == 0:s = 0while x % i == 0:x //= is += 1print(i,s)if x > 1:print(x,1)for i in range(n):divide(int(input()))print()總結(jié)
 
                            
                        - 上一篇: 哪家科技巨头的人工智能最先觉醒:谷歌、F
- 下一篇: ROS入门、ROS完整教程
