国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

數(shù)論第一節(jié)

這篇具有很好參考價(jià)值的文章主要介紹了數(shù)論第一節(jié)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

  • 數(shù)論

    • 質(zhì)數(shù)

      • 在大于1的整數(shù)中,只包含1和本身這兩個(gè)約數(shù),就被稱(chēng)為質(zhì)數(shù),也叫素?cái)?shù)
      • 質(zhì)數(shù)的判定
        • 試除法
          • 遍歷2-n,若有約數(shù)則不為質(zhì)數(shù) O(n)
          • 優(yōu)化:
            • d整除n,則n/d也整除n,約數(shù)總是成對(duì)出現(xiàn),只要找較小的約數(shù),即取d <= n/d,則d <= sqrt(n) 只用遍歷2-sqrt(n) O(sqrt(n))
            • 不用 i * i <= n ,i過(guò)大會(huì)溢出
            • sqrt()函數(shù)較慢,只用遍歷 d--n/d,即限制范圍為 i--n/i
          • 代碼:
            //不用for(int i = 1; i * i <= n; ++ i) i * i 會(huì)溢出
            //不用for(int i = 1; i <= sqrt(n); ++ i) sqrt() 函數(shù)緩慢
            //用for(int i = 1; i <= n / i; ++ i)  不會(huì)溢出,快
            bool is_prime(int x){
            	if(x < 2) return false;
            	for(int i = 2; i <= n / i; ++ i)
            		if(n % i == 0) return false;
            	return true;
            }
            
      • 分解質(zhì)因數(shù)
        • 試除法
          • 遍歷2-n,找因子
          • n最多有一個(gè)大于sqrt(n)的因子,因此只用在2-sqrt(n)中找因子,最后判斷最后一個(gè)因子是否為大于sqrt(n)的因子
          • 代碼:
            //暴力做法
            void divide(int n){
            	for(int i = 2; i <= n; ++ i){
            		if(n % i == 0){
            			int s = 0; //i的個(gè)數(shù)
            			while(n % i == 0){
            				n /= i; //除干凈
            				s ++ ;
            			}
            			cout << i << s << endl;
            		}
            	}
            }
            //優(yōu)化
            void divide(int n){
            	for(int i = 2; i <= n / i; ++ i){
            		if(n % i == 0){
            			int s = 0;
            			while(n % i == 0){
            				n /= i;
            				s ++ ;
            			}
            			cout << i << s << endl;
            		}
            	}
            	if(n > 2) cout << n << 1;//n就是最后大于sqrt(n)的因子
            }
            
      • 篩選質(zhì)數(shù)
        • 埃氏篩法
          • 從2-n,將每個(gè)數(shù)的倍數(shù)刪掉,那么剩下的數(shù)就是質(zhì)數(shù) O(nln(n))
          • 優(yōu)化:
            • 任何一個(gè)合數(shù)都可以拆成若干素?cái)?shù)之積,因此只用將素?cái)?shù)的倍數(shù)刪掉 O(nln(ln(n))) ~ O(n)
          • 代碼:
            int primes[N];
            int st[N];//標(biāo)記是否被篩過(guò)
            void get_primes(int n){
            	int cnt = 0;
            	for(int i = 2; i <= n; ++ i){
            		if(!st[i]){ //沒(méi)有被篩過(guò),說(shuō)明是質(zhì)數(shù)
            			primes[ ++ cnt] = i;
            			//篩該質(zhì)數(shù)的所有倍數(shù)
            			for(int j = i + i; j <= n; j += i) st[j] = 1;
            		}
            	}
            }
            
        • 線(xiàn)性篩法
          • 數(shù)據(jù)大小在107左右線(xiàn)性篩法比埃氏篩法快一倍,106左右差不多
          • n只會(huì)被它的最的最小質(zhì)因子篩掉,利用最小質(zhì)因子篩掉合數(shù)
          • 代碼:
            int primes[N];
            int st[N];
            void get_primes(int n){
            	int cnt = 0;
            	for(int i = 2; i <= n; ++ i){
            		if(!st[i]) primes[ ++ cnt] = i;//沒(méi)有被篩掉就是質(zhì)數(shù)
            		for(int j = 1; primes[j] <= n / i; ++ j){//從小到大遍歷質(zhì)數(shù)
            			st[primes[j] * i] = 1; //篩掉合數(shù),若x是合數(shù),當(dāng)i遍歷到x時(shí),一定會(huì)先遍歷到x的最小質(zhì)因子prime,所以此時(shí)prime進(jìn)入primes數(shù)組,當(dāng)i遍歷到x/prime時(shí),x = prime*i會(huì)被篩掉,所以每個(gè)合數(shù)都能被篩掉,并且是在遍歷到該合數(shù)之前被篩掉
            			if(i % pimes[j] == 0) break; //i是合數(shù)篩掉i,i在之前就被標(biāo)記過(guò),所以不用再標(biāo)記
            		} 
            	}
            }
            
    • 約數(shù)

      • 求所有約數(shù)

        • 試除法
          • 代碼:
            vector<int> get_divisors(int n){
            	vector<int> res;
            	for(int i = 1; i <= n / i; ++ i){
            		if(n % i == 0){
            			res.push_back(i);
            			if(i != n / i) res.push_back(n / i);
            		}
            	}
            	sort(res.begin(), res.end());
            	return res;
            }
            
      • 約數(shù)的個(gè)數(shù)

        • \(N = p_1^{a_1} · p_2^{a_2} · p_3^{a_3} ··· ·p_n^{a_n}\) 其中p為N的所有質(zhì)因子
        • 則N的約數(shù)個(gè)數(shù)為:\((a_1+1)(a_2+1)(a_3+1)···(a_n+1)\)
          • 代碼:
            const int mod = 1e7 + 10;
            unordered_map<int, int> primes;//hash表存儲(chǔ)每個(gè)質(zhì)數(shù)有多少
            void get_primes(int n){
            	for(int i = 2; i <= n / i; ++ i){
            		while(n % i == 0){
            			n /= i;
            			primes[i] ++ ;
            		}
            	}
            	if(n > 1) primes[n] ++ ;
            }
            for(int i = 1; i <= n; ++ i) get_primes(a[i]);
            long long res = 0;
            for(auto p : primes) res = res * (p.second + 1) % mod;
            
        • 則N的約數(shù)總和為:\((p_1^{0}+p_1^{2}+···+p_1^{n})(p_2^{0}+p_2^{1}+···+p_2^{n})···(p_n^{0}+p_n^{1}+···+p_n^{n})\)
          • 代碼:
            const int mod = 1e7 + 10;
            unordered_map<int, int> primes;
            void get_primes(int n){
            		for(int i = 2; i <= n / i; ++ i){
            			while(n % i == 0){
            				n /= i;
            				primes[i] ++ ;
            			}
            		}
            		if(n > 1) primes[n] ++ ;
            	}
            	for(int i = 1; i <= n; ++ i) get_primes(a[i]);
            	long long res = 1;
            	for(auto p : primes){
            		long long t = 1;
            		int a = p.first, b = p.second;
            		while(b -- ) t = (t * a + 1) % mod;
            		res = res * t % mod;
            	}
            
      • 最大公約數(shù)

        • 輾轉(zhuǎn)相除法(歐幾里得算法)O(logn)
        • a|b, a|c, 則 a|(b+c), 則a|(bx + cy)
        • 求a與b的最大公約數(shù),設(shè)其公約數(shù)為c,則c|a, c|b, c|(ax + by), 設(shè)a = kb + m, 則m = a - kb, 則c|m, 又m = a % b, 則 c|(a % b), 即a與b的最大公約數(shù),也是a%b的公約數(shù),即gcd(a, b) = gcd(b, a % b)
        • 代碼:
          int gcd(int a, int b){
          	return b ? gcd(b, a % b) : a;
          }
          

文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-628648.html

到了這里,關(guān)于數(shù)論第一節(jié)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀(guān)點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【RT-DETR有效改進(jìn)】ShapeIoU、InnerShapeIoU關(guān)注邊界框本身的IoU(包含二次創(chuàng)新)

    【RT-DETR有效改進(jìn)】ShapeIoU、InnerShapeIoU關(guān)注邊界框本身的IoU(包含二次創(chuàng)新)

    ??歡迎大家訂閱本專(zhuān)欄,一起學(xué)習(xí)RT-DETR??? 本文給大家?guī)?lái)的改進(jìn)機(jī)制是ShapeIoU其是一種關(guān)注邊界框本身形狀和尺度的邊界框回歸方法(IoU),同時(shí)本文的內(nèi)容包括過(guò)去到現(xiàn)在的百分之九十以上的損失函數(shù)的實(shí)現(xiàn),使用方法非常簡(jiǎn)單,在本文的末尾還會(huì)教大家在改進(jìn)模型時(shí)

    2024年01月16日
    瀏覽(22)
  • e[2333333, 23333333] 中有多少個(gè)正整數(shù) 可以被分解為 12 個(gè)質(zhì)數(shù)相乘?

    任何一個(gè)大于 1 的正整數(shù)都能被分解為若干個(gè)質(zhì)數(shù)相乘, 比如?28=2 times 2 times 728=2×2×7?被分解為了三個(gè)質(zhì)數(shù)相乘。請(qǐng)問(wèn)在區(qū)間 [2333333, 23333333] 中有多少個(gè)正整數(shù) 可以被分解為 12 個(gè)質(zhì)數(shù)相乘? 答案提交 這是一道結(jié)果填空的題,你只需要算出結(jié)果后提交即可。本題的結(jié)果為一

    2023年04月08日
    瀏覽(72)
  • Element UI el-input 只能輸入大于0的正整數(shù)

    當(dāng)輸入值以0開(kāi)頭或者不為0-9的整數(shù)時(shí),則用\\\' \\\'替換掉(/g表示全局匹配,則所有匹配項(xiàng)都會(huì)被替換掉),效果為不能輸入以0開(kāi)頭或不為正整數(shù)的值。

    2024年02月14日
    瀏覽(28)
  • 第一章-第一節(jié)-會(huì)計(jì)概念、職能和目標(biāo)

    第一章-第一節(jié)-會(huì)計(jì)概念、職能和目標(biāo)

    東方欲曉,莫道君行早,踏遍青山人未老,風(fēng)景這邊獨(dú)好。雖然我的專(zhuān)業(yè)是軟件工程,但是!但是!但是!光有技術(shù)是不夠的,我自認(rèn)為我也不是天才,我只是一個(gè)普通人,所以除了技術(shù),我應(yīng)該掌握一點(diǎn)別的什么東西,想賺錢(qián),卻不了解相關(guān)的知識(shí),嗯,那就考個(gè)初級(jí)會(huì)計(jì)

    2024年01月19日
    瀏覽(31)
  • 第一節(jié) RobotFramework環(huán)境搭建

    第一節(jié) RobotFramework環(huán)境搭建

    1 robotframework的環(huán)境搭建 第一步:Python環(huán)境(建議3.6.8) ????首先安裝python ,可從如下地址下載: ????https://www.python.org/downloads/release/python-368/ ????安裝成功后配置到環(huán)境變量 ????然后啟一個(gè)cmd命令窗口驗(yàn)證下是否成功安裝,成功安裝如圖所示: 第二步:robotframwwork安裝

    2023年04月09日
    瀏覽(31)
  • 相機(jī)成像原理【第一節(jié)】

    相機(jī)成像原理【第一節(jié)】

    1、膠片攝影與數(shù)碼攝影 膠片攝影是把光學(xué)鏡頭的光信號(hào)投射到膠片上, 數(shù)碼攝影是把光學(xué)鏡頭的光信號(hào)投射到傳感器上,傳感器把光信號(hào)依次處理為電信號(hào)和數(shù)字信號(hào),片上計(jì)算機(jī)再把數(shù)字信號(hào)進(jìn)行處理 2、相機(jī)的組成 2.1 只有傳感器相機(jī)的成像 一棵樹(shù)所有的點(diǎn)發(fā)出的光照

    2024年02月12日
    瀏覽(28)
  • 基本環(huán)境準(zhǔn)備(第一節(jié))

    基本環(huán)境準(zhǔn)備(第一節(jié))

    基本環(huán)境準(zhǔn)備(第一節(jié)) 2023年8月9日 16:37 ? 1.安裝Node.js; Windows 上安裝 Node.js 你可以采用以下兩種方式來(lái)安裝。 1、Windows 安裝包(.msi) 本文實(shí)例以 v0.10.26 版本為例,其他版本類(lèi)似, 安裝步驟: ? 步驟 1 : 雙擊下載后的安裝包 v0.10.26,如下所示: 步驟 2 : 點(diǎn)擊以上的Run(運(yùn)行),將

    2024年02月13日
    瀏覽(24)
  • 第一節(jié)——單片機(jī)概述

    第一節(jié)——單片機(jī)概述

    1.MCD-51單片機(jī) ?與8051(80C51) 兼容的主要產(chǎn)品 ATMEL公司生產(chǎn)的兼容51單片機(jī)的具體型號(hào) 2.AVR系列單片機(jī) AVR系列是1997年ATMEL公司挪威設(shè)計(jì)中心的A先生與V先生共同研發(fā)出的精簡(jiǎn)指令集(RISC—Reduced Instruction Set Computer)的高速8位單片機(jī),簡(jiǎn)稱(chēng)AVR。 ?AVR單片機(jī)系列全,3個(gè)檔次,適于各

    2024年01月24日
    瀏覽(19)
  • Datawhale學(xué)習(xí)git-第一節(jié)

    ? 思考是行動(dòng)的種子?!?愛(ài)默生 三層筆記法實(shí)踐步驟:構(gòu)思筆記 → 封存筆記 → 行動(dòng)筆記 鼠標(biāo)放置在正文左側(cè),點(diǎn)擊 “ + ” 工具欄中的“ 高亮塊 ”,高亮你的學(xué)習(xí)感悟 【輸出】將構(gòu)思筆記層中提煉出的需要執(zhí)行的內(nèi)容或最為核心的內(nèi)容上移至行動(dòng)筆記層,每次打開(kāi)筆

    2024年01月20日
    瀏覽(17)
  • Android面試題第一節(jié)

    問(wèn):以下關(guān)于A(yíng)ctivity的生命周期,順序正確的是____ 類(lèi)型:?jiǎn)芜x A,onStart,onCreate,onResume,onPause,onStop,onDestroy B,onCreate,onStart,onResume,onPause,onStop,onDestroy C,onCreate,onResume,onPause,onStop,onDestroy D,onCreate,onRestart,onStart,onResume,onPause,onStop,onDestroy 答案:B 問(wèn):

    2024年02月03日
    瀏覽(19)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包