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