质因子分解(洛谷P2043题题解,Java语言描述)
生活随笔
收集整理的這篇文章主要介紹了
质因子分解(洛谷P2043题题解,Java语言描述)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目要求
P2043題目鏈接
分析
這題也不是很容易理解的一個(gè)題吶……
我們可以開個(gè)數(shù)組,存質(zhì)數(shù)個(gè)數(shù)。
數(shù)組元素先按照默認(rèn)的全為0,以便輸出時(shí)判斷。
然后 1, 2, 3, …, n 分別求質(zhì)因子。
這方法特別強(qiáng)的是:不用判斷是不是質(zhì)數(shù)。
理由:因?yàn)槊總€(gè)質(zhì)因子我們都一直除,直到不能再除,以后也不會(huì)出現(xiàn)可以除的數(shù)是此數(shù)的倍數(shù)了,相當(dāng)于已經(jīng)篩掉了。
AC代碼(Java語言描述)
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int num = scanner.nextInt();int[] array = new int[num+1];for (int i = 2; i <= num; i++) {int temp = i;for (int j = 2; j <= i; j++) {while (temp % j == 0) {array[j]++;temp /= j;}}}for (int i = 1; i <= num;i++) {if (array[i]!=0) {System.out.println(i + " " + array[i]);}}scanner.close();} } 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的质因子分解(洛谷P2043题题解,Java语言描述)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 洛谷P4325、P4413题解(Java
- 下一篇: 互逆的压缩与解压(洛谷P1319、P13