第六章 數學問題 -------- 6.12 素數及質因數分解
import java.util.HashMap;
import java.util.Map;
public class PrimeNumber {
public static void main(String[] args) {
boolean res = isPrime(7);
System.out.println(res);
Map<Integer, Integer> map = primeFactor(100);
StringBuilder sb = new StringBuilder();
for(Map.Entry<Integer, Integer> entry:map.entrySet()){
int k = entry.getKey();
int v = entry.getValue();
for (int i = 0; i < v; i++) {
sb.append("*"+k);
}
}
System.out.println(map);
System.out.println(sb.substring(1));
}
/**
* 檢查num是不是素數
* 2~根號n
*/
public static boolean isPrime(long num){
for (int i = 2; i*i <= num; i++) {
if (num%i==0) {
return false;
}
}
return true;
}
/**
* 質因素分解:100 = 2*2*5*5
* map是質因數-出現次數的對映
*/
public static Map<Integer, Integer> primeFactor(int num){
Map<Integer, Integer> map = new HashMap<>();
for (int i = 2; i*i <= num; i++) {
while(num%i==0){
Integer v = map.get(i);
if (v==null) {
map.put(i, 1);
}else {
map.put(i, v+1);
}
num /= i;
}
}
return map;
}
}
相關文章
- 階乘質因數分解
- 第六章 數學問題 ----------6.13 素數的篩法(第十萬零二個素數)
- 分解質因數的誤區
- Just for fun——分解一個正整數的質因數
- 藍橋杯題庫 BASIC-16 分解質因數
- hdu 5698 瞬間移動 【質因數分解求組合數】
- 【數學問題】判斷一個數是否是素數
- 整數因子分解問題
- 質數判斷、質因子分解、質數篩
- python將輸入的一個正整數分解質因數(map)Python
- 【hdu】口算訓練/二分/質因數分解
- 大質數分解模板
- P1075 [NOIP2012 普及組] 質因數分解
- HDU 4135 Co-prime(容斥原理+分解質因數)
- 分解質因數——MOOC《零基礎學Java語言》第7周程式設計題1Java程式設計
- 洛谷題單指南-數學基礎問題-P1835 素數密度
- 求最大質因數
- 第七章:因數分解與算數基本定理(1)
- 第七章:因數分解與算數基本定理(2)
- Java分解質因數,如輸入8,輸出8=2*2*2Java
- 第六章 數學問題 -------- 6.14 【快速冪】斐波那契數列
- 【快速因數分解】Pollard's Rho 演算法演算法
- 南沙信奧塞陳老師解一本通題:2032:【例4.18】分解質因數
- 微課|中學生可以這樣學Python(例6.4):因數分解Python
- 難度2:素數距離問題
- 簡單的素數問題(C++)C++
- PAT-B 1013 數素數 【素數】
- 輸出一個區間內的質數(素數)
- 第六章 數學問題 -------- 6.1【巧用進位制】天平稱重問題
- C# 輸入一個整數,求質因數C#
- 怎樣解題|題7.5.12:因數的個數
- 判斷一個數是不是質數(素數),3種方式介紹
- 第六章 數學問題 -------- 6.2【Nim遊戲】高僧鬥法遊戲
- 第六章 數學問題 -------- 6.10 特殊的同餘方程—逆元
- 數論(1):素數
- 數論學習筆記 (3):因數與倍數筆記
- 素數
- 醜數,即只包含質因數 2、3 和 5 的正整數。