快速求質因子(一定程度上,比輾轉相除好得多)
借鑑自我的朋友,http://my.csdn.net/raalghul。而他的qq也是需要輸入他qq號的質因子才能加他的,所以很有趣,我想他討教了求質因子的方法,然後加了他,哈哈。
方法:
按正常方法找一個數的因子,用一個for迴圈,遍歷到sqrt(num)前,一個個看能否除的通。
這裡有點不一樣,找到一個質因子後,num = num/i,減小了num的長度,直接加快了效率。為什麼可以這麼做,因為比如64,2的6次。如果你這樣的話,會直接把64除成1,一次性把2的因子全部消除了。所以這樣的目的就是一次性徹底消除一類因子,大大縮小num長度。只需要在迴圈完後判斷num是不是因子即可,因為你執行的沒有原來長了,所以num可能會被你漏掉。
程式碼:
private static List<Integer> getPrimeFactor(int num) { List<Integer> primeFactorList = new ArrayList<>(); for (int i = 2; i * i < num; i++) { if (num % i == 0) { primeFactorList.add(i); while (num % i == 0) num = num / i; } } if(num > 1) primeFactorList.add(num); return primeFactorList; }
接下來可能要用到質因子,所以應用場景先不寫了。
相關推薦
快速求質因子(一定程度上,比輾轉相除好得多)
借鑑自我的朋友,http://my.csdn.net/raalghul。而他的qq也是需要輸入他qq號的質因子才能加他的,所以很有趣,我想他討教了求質因子的方法,然後加了他,哈哈。 方法: 按正常方法找一個數的因子,用一個for迴圈,遍歷到sqrt(num)前,一個個看能
POJ 2348 Euclid's Game(輾轉相除博弈+自由度分析)
main -1 發現 轉移 pro b- color 思路 span 題目鏈接:http://poj.org/problem?id=2348 題目大意:給你兩個數a,b,Stan和Ollie輪流操作,每次可以將較大的數減去較小的數的整數倍,相減後結果不能小於0,誰先將其中
CSP(Content Security Policy),在一定程度上能預防XSS攻擊
在介紹CSP之前,我們先先來了解一下什麼是XSS攻擊? XSS攻擊:一種常見的跨指令碼web攻擊方式,它通過向瀏覽器注入一段可執行的惡意指令碼程式碼,並且被瀏覽器成功的執行來達到攻擊的目的。一次XSS攻擊可以獲取到使用者的聯絡方式,向用戶傳送詐騙資訊,甚至可以
區塊鏈技術很大程度上,會影響數字貨幣的發展
區塊鏈技術隨著區塊鏈技術的影響力逐漸的擴大,很多國家也逐漸的放松了對於數字加密貨幣的監管,更是有較多的國家,不但將區塊鏈技術的研發提上了日程,更是在數字加密貨幣上也開始了布局。 區塊鏈技術的最初應用和最成功的應用,都是比特幣,但是比特幣總量恒定,即使想要入局也只是通過交易或者挖礦的方式,比特幣市場顯然不能
volatile不能保證程式執行的原子性以及只能一定程度上保證有序性
多執行緒併發程式設計如何正確的執行程式: 1、原子性:執行過程要麼成功要麼失敗,比如經典的銀行轉賬問題。 2、可見性:多執行緒併發時,一個執行緒修改了工作記憶體中的值(主存中的值),會立刻改變主存相應地址的值,其它執行緒工作記憶體的值無效,重新獲取主存的值。 3、有序性:程
idea快速生成實體類Entity(找了半天,自己一步就搞出來了)
第一步、用idea連線資料庫(我這裡用的mysql)第二步、關鍵的來了,瑪德怪不得idea開發效率高,生成實體類一步搞定(右鍵選擇生成實體的表,那個Generare POJO就是了,屌不屌…………太屌了,然後稍微修改一下下)
consul-template + shell 實現一定程度上的應用灰度升級
ice mes 代碼 rop div 管理平臺 公司 tin des 公司服務部署架構:gitlab+jenkins+自己開發的運維管理平臺+consul+aws ec2(cloudformation 進行雲資源配置管理) 1、修改/opt/scripts/Serv
在linux上搭建nacos叢集(步驟詳細,linux小白也搞得定)
(1)nacos官網:https://github.com/alibaba/nacos/releases/tag/1.2.1下載nacos安裝包到window本地(字尾為tar.zip) (2)在linux上下載nginx包,linux安裝指令:(先去nginx官網檢視版本,Stable ver
TOJ4101.Guess Game(TOJ means Tianjin University Online Judge)(dp的思想,但這道題目是假dp)
line bre 個人 eof ret calculate code stdio.h turn 題意:你要從[1,n]這個n個數中猜出來規定的某個數,現在這個數未知,問你在最糟糕的情況下(但是你采用了最優的策略),你要猜多少次才能猜出這個數。現在有兩種條件: 第一種:當你猜
圖片拖拽的繼承,引用 1 (需要引入2,3兩個js才能運行)
type left set height har title back 運行 fun <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <
架構師百度雲連接(有失效期,快點保存1天後刪除)
HP ava SQ 從入門到精通 開發 AC nod PQ 連接 1. PS大師之路視頻教程鏈接: https://pan.baidu.com/s/1mjYbcJA密碼:pqdt2.HTML5+CSS3從入門到精通.iso 鏈接:https://pan.baidu.com/
輾轉相除,二進位制一的個數,快速冪演算法使用遞迴的相同處
遞迴在演算法競賽中起到了很重要的角色,就這三個演算法進行一些歸納 輾轉相除法: //可以兩種遞迴的寫法,注意兩者的區別 int gcd(int a,int b) { return b==0?a:gcd(b,a%b); } int gcd(int a,int b) { if(b
http請求過程(訪問一個頁面,發生了怎樣的網路請求?)
域名解析->域名 ->快取->根域dns->頂級域dns->本域dns->伺服器IP 1.搜尋瀏覽器自身DNS快取,如果不存在或者過期(>60s)放棄 2.搜尋作業系統自身的dns快取 3.讀取本地的HOST檔案 4.瀏覽器發起一個DNS的
原生JS的(可視區域,向上滾動向下滾動兩種)圖片懶載入
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style>
基於Jquery的(可視區域,向上滾動向下滾動兩種)圖片懶載入
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style>
RT-Thread 讀後感3 —— 實現就緒列表 (定義就緒列表,將執行緒插入到就緒列表)
1. 定義就緒列表 執行緒建立好後,需要將執行緒新增到就緒列表裡面,表示執行緒已經就緒,系統隨時可以排程。RT-Thread定義的就緒列表如下: /* 執行緒就緒列表如下 ** RT_THREAD_PRIORITY_MAX 在rtconfig.h中預設定義為32 決定最大執行緒優先順
有哪些外行看上去很高大上,但在內行眼裡 low 得不行的東西?
外行:大資料 內行:2004年就開始學習的資料倉庫,怎麼突然間在2010年用一個Low逼的不行的"大"資料就變成了每個人都可以用來裝逼的詞了? 外行:微服務 內行:2008年就擺脫了SOA的匯流排思想,曾經有過100多個服務獨立部署,承載不同的功能模組。怎麼突然間在
DML(資料操作語言,對錶記錄的操作-增刪改)
1、插入資料 INSERT INTO 表名 (列名1,列名2,……) VALUES (列值1,列值2,……); 插入所有列 INSERT INTO stu ( number,name,age,gender ) Values( ‘itcast_0001’,‘zhang
【MYSQL學習筆記02】MySQL的高階應用之Explain(完美詳細版,看這一篇就夠了)
版權宣告:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/wx1528159409 最近學習MySQL的高階應用Explain,寫一篇學習心得與總結,目錄腦圖如下: 一、Explain基本概念 1. Explain定義 · 我們知道M
點選圖片放大的效果(如果幫助大,關注我後期更好的作品奧)
第一步,要下載燈箱這個外掛 連線:連結: https://pan.baidu.com/s/1o1mYq5oIfo87YSQF9kjy8w 提取碼: used 下載並且解壓到本地 3.1本地的燈箱解壓如圖 進入src 目錄 如下圖 5.1 專案目錄如下 6.HTM