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

第四章——數(shù)學知識1

這篇具有很好參考價值的文章主要介紹了第四章——數(shù)學知識1。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

質(zhì)數(shù)

質(zhì)數(shù):在大于1的整數(shù)中,如果只包含1和本身這倆個約束,就被叫質(zhì)數(shù)或素數(shù)。

質(zhì)數(shù)判定試除法

質(zhì)數(shù)的判定——試除法:如果d能整除n,則n/d再除n,結(jié)果是一個整數(shù)。 d≤n/d。

第四章——數(shù)學知識1
bool is_prime(int x)
{
    if (x < 2) return false;
    for (int i = 2; i <= x / i; i ++ )
        if (x % i == 0)
            return false;
    return true;
}

分解質(zhì)因數(shù)試除法

質(zhì)因數(shù):一個正整數(shù)的倆個因數(shù)都是質(zhì)數(shù)

分解質(zhì)因數(shù)——試除法:

第四章——數(shù)學知識1

從小到大枚舉所有的質(zhì)因數(shù),這里我們要的是質(zhì)因子,即因子是質(zhì)數(shù)。

當枚舉到i時,不包含任何2到i-1中的質(zhì)因子

第四章——數(shù)學知識1

如果n% i==0,則說明n中不包含任何2到i-1之間的質(zhì)因子,i當中也不包含任何2到i-1中的質(zhì)因子

,因此i一定是一個質(zhì)數(shù)。

即只要滿足if(n%i==0)說明i一定是質(zhì)數(shù)。n中最多只包含一個大于sqrt(n)的質(zhì)因子(假設(shè)n中有倆個大于sqrt(n)的質(zhì)因子,倆倆乘一塊之后肯定大于n),因此枚舉的時候可以先把小于根號n的枚舉出來,如果最后剩余的數(shù)大于1,則說明這個數(shù)時大于根號n的質(zhì)因子

第四章——數(shù)學知識1
第四章——數(shù)學知識1
void Prime(int n)//求質(zhì)因數(shù)
{
    int count = 0;
    for (int i = 2; i <= n/i; ++i)
    {
        count = 0;
        if (n % i == 0)// i是質(zhì)數(shù)
            while (n % i == 0)
            {
                n = n / i;//n變成另一個因數(shù),如n原來是6,i是3,n此刻變?yōu)?
                count++;//如果要把一個數(shù)表示成指數(shù)和底數(shù)的形式,如8=2^3,count就是指數(shù),i就是底數(shù)
                
            }
        printf("%d %d\n", i, count);
    }
    if (n > 1) printf("%d 1\n", n);//大于根號n的質(zhì)數(shù)
}

int main()
{
    while (1)
    {
        int n;
        scanf("%d", &n);
        Prime(n);

    }
    return 0;
}

篩質(zhì)數(shù)

把一個數(shù)組里面,所有數(shù)的倍數(shù)刪掉。

如這里第一個數(shù)是2,先把2的所有倍數(shù)刪掉,接著刪除3的所有倍數(shù),刪4的所有倍數(shù)……

第四章——數(shù)學知識1

如果某個數(shù)沒有被篩過的話,說明它是一個質(zhì)數(shù)、

上面算法較為麻煩,我們可這樣做,以11為例,我們不需要把2-10的所有數(shù)都進行判斷,我們把2-10中的質(zhì)數(shù)找出來,看11是不是這些質(zhì)數(shù)的倍數(shù),如果不是則說明11是質(zhì)數(shù),反之不是質(zhì)數(shù)。即:篩的時候把質(zhì)數(shù)的所有倍數(shù)篩出來即可。

第四章——數(shù)學知識1

方法一 埃氏篩法

時間復(fù)雜度 O(nloglogn)


#include<bits/stdc++.h>
using namespace std;
const int N = 1000010;
int n, cnt;
int prime[N];//用來存儲質(zhì)數(shù)
bool st[N];//st代表是否被刪除,true代表被刪除,false代表未刪除
void primes()
{
    for (int i = 2; i <= n; i++)
    {
        if (!st[i])prime[cnt++] = i;//如果當前數(shù)沒有被篩出去,說明是質(zhì)數(shù)
        for (int j = i + i; j <= n; j += i)//把每個數(shù)的倍數(shù)刪掉
        {
            st[j] = true;
        }
    }
}
int main()
{
    cin>>n;
    primes();
    cout<<cnt<<endl;
    return 0;
}

方法二 線性篩法

合數(shù):合數(shù)是指在大于1的整數(shù)中除了能被1和本身整除外,還能被其他數(shù)(0除外)整除的數(shù)

這里爭取用合數(shù)的某個質(zhì)因子把每個合數(shù)篩掉,線性篩法要優(yōu)于第一種篩法。

using namespace std;
const int N = 1000010;
int n, cnt;
int prime[N];//用來存儲質(zhì)數(shù)
bool st[N];//st代表是否被刪除,true代表被刪除,false代表未刪除
void primes()
{
    for (int i = 2; i <= n; i++)
    {
        if (!st[i])prime[cnt++] = i;//如果當前數(shù)沒有被篩出去,說明是質(zhì)數(shù)
        for (int j = 0; prime[j] <= n / i; j++)//從小到大枚舉所有的質(zhì)數(shù),當質(zhì)數(shù)大于某個數(shù)的平方根時,跳出循環(huán)
        {
            st[prime[j] * i] = true;//把primes[j]*i篩掉
            if (i % prime[j] == 0) break;
        }
    }
}
int main()
{
    cin >> n;
    primes();
    cout << cnt << endl;
    return 0;
}

線性篩法核心:n只會被它的最小質(zhì)因子篩掉。

原理:j時從小到大在枚舉所有的質(zhì)數(shù)。下面圖中的pj代表prime[j]

第四章——數(shù)學知識1

試除法求約數(shù)

如果d是n的約數(shù),則n/d也一定能整除n,即我們枚舉約數(shù)時,枚舉到d≤n/d即d≤根號n

第四章——數(shù)學知識1
#include<vector>
vector<int> get_divisors(int n)
{
    vector<int> res;
    for(int i=1;i<=n;++i)
        if (n % i == 0)
        {
            res.push_back(i);//如果i是約數(shù),就把i放入到數(shù)組中
            if (i != n / i) res.push_back(n/i); //當i不等于n/i時,再把n/i放進來,有可能n是i的平方,如果倆個約數(shù)一樣,數(shù)組里面放的約數(shù)可能會重復(fù)
             //所以這里要判斷一下

        }
    sort(res.begin(), res.end());
    return res;
}
int main()
{
    int n;
    cin >> n;
    while (n--)
    {
        int x;
        cin >> x;
        auto res = get_divisors(x);
        for (auto x : res)
            cout << x << " ";
        cout << endl;
    }

    return 0;
}

約數(shù)個數(shù)和約數(shù)之和

約數(shù)個數(shù):如果一個正整數(shù)N分解完質(zhì)因數(shù)后可這樣表示

第四章——數(shù)學知識1

則它的約數(shù)個數(shù)可表示為

第四章——數(shù)學知識1

1~n中1是所有數(shù)的約數(shù),2是所有以2為倍數(shù)的約數(shù)……,因此1-n當中總共約數(shù)的個數(shù)和1-n當中

總共倍數(shù)的個數(shù)是相同的, 因此我們可以通過統(tǒng)計1-n當中有多少倍數(shù),進而統(tǒng)計出約數(shù)。

int范圍內(nèi)約數(shù)個數(shù)最多的大概是1500個。

約數(shù)之和:可這樣表示

第四章——數(shù)學知識1
第四章——數(shù)學知識1

解題思路:把a1-an分解成這種形式,之后所有指數(shù)+1再相乘

第四章——數(shù)學知識1
#include<unordered_map>
#include<iostream>
#include<algorithm>
using namespace std;
typedef long long LL;

const int mod = 1e9 + 7;
int n;
int main()
{
   
    cin >> n;
    unordered_map<int, int> primes;//存儲所有的底數(shù)和指數(shù)
    while (n--)
    {
        int x;
        cin >> x;
        for (int i = 2; i <= x / i; ++i)
        {
            while (x % i == 0)
            {
                x /= i;
                primes[i]++;//質(zhì)因數(shù)指數(shù)+1
            }
        }
        if (x > 1) primes[x]++;//如果x>1說明x是一個比較大的質(zhì)因數(shù)
    }
    LL res = 1;
    for (auto prime : primes)
    res = res * (prime.second + 1) % mod;
    cout << res << endl;
    return 0;
 }

求約數(shù)和

先求出p的0次方一直加到p的a次方,用這個公式t會由t變?yōu)閜的1次方,一直乘下去會變?yōu)閠的a次方

第四章——數(shù)學知識1
第四章——數(shù)學知識1
#include<unordered_map>
#include<iostream>
#include<algorithm>
using namespace std;
typedef long long LL;

const int mod = 1e9 + 7;
int n;
int main()
{
   
    cin >> n;
    unordered_map<int, int> primes;//存儲所有的底數(shù)和指數(shù)
    while (n--)
    {
        int x;
        cin >> x;
        for (int i = 2; i <= x / i; ++i)
        {
            while (x % i == 0)
            {
                x /= i;
                primes[i]++;//質(zhì)因數(shù)指數(shù)+1
            }
        }
        if (x > 1) primes[x]++;//如果x>1說明x是一個比較大的質(zhì)因數(shù)
    }
    LL res = 1;
    for (auto prime : primes)
    {
        int p = prime.first, a = prime.second;//p表示底數(shù),a表示指數(shù)
        LL t = 1;
        //求p的0次方加和一直到p的a次方
        while (a--)
        {
            t = (t * p + 1) % mod;
         
        }
        res = res * t % mod;
    }
    cout << res << endl;
    return 0;
 }

最大公約數(shù)(歐幾里得算法)

輾轉(zhuǎn)相除法:一個數(shù)能整除a,也能整除b,這個數(shù)就能整除a+b,也能整除ax+by,求a和b的最大公約數(shù)等于求b和a%b的最大公約數(shù),文章來源地址http://www.zghlxwxcb.cn/news/detail-425955.html

#include<iostream>
using namespace std;
int gcb(int a, int b)
{
    return b ? gcb(b, a % b) : a;//b如果不是0,返回gcb(b, a % b),反之返回a
}
int main()
{
    int n;
    scanf("%d", &n);
    while (n--)
    {
        int a, b;
        scanf("%d %d", &a, &b);
        printf("%d", gcb(a, b));
    }
    return 0;
}

到了這里,關(guān)于第四章——數(shù)學知識1的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 【考研數(shù)學】線性代數(shù)第四章 —— 線性方程組(1,基本概念 | 基本定理 | 解的結(jié)構(gòu))

    【考研數(shù)學】線性代數(shù)第四章 —— 線性方程組(1,基本概念 | 基本定理 | 解的結(jié)構(gòu))

    繼向量的學習后,一鼓作氣,把線性方程組也解決了去。O.O 方程組 稱為 n n n 元齊次線性方程組。 方程組 稱為 n n n 元非齊次線性方程組。 方程組(I)又稱為方程組(II)對應(yīng)的齊次線性方程組或?qū)С龇匠探M。 方程組(I)和方程組(II)分別稱為齊次線性方程組和非齊次線

    2024年02月11日
    瀏覽(33)
  • 【考研數(shù)學】線性代數(shù)第四章 —— 線性方程組(2,線性方程組的通解 | 理論延伸)

    【考研數(shù)學】線性代數(shù)第四章 —— 線性方程組(2,線性方程組的通解 | 理論延伸)

    承接前文,繼續(xù)學習線性方程組的內(nèi)容,從方程組的通解開始。 (1)基礎(chǔ)解系 —— 設(shè) r ( A ) = r n r(A)=rn r ( A ) = r n ,則 A X = 0 pmb{AX=0} A X = 0 所有解構(gòu)成的解向量組的極大線性無關(guān)組稱為方程組 A X = 0 pmb{AX=0} A X = 0 的一個基礎(chǔ)解系?;A(chǔ)解系中所含有的線性無關(guān)的解向量的個

    2024年02月11日
    瀏覽(37)
  • 【概率論與數(shù)理統(tǒng)計】第四章知識點復(fù)習與習題

    【概率論與數(shù)理統(tǒng)計】第四章知識點復(fù)習與習題

    定義 數(shù)學期望其實很好理解,就是均值,當然這里并不是直接計算樣本的均值,而是考慮到樣本對應(yīng)的概率。我們分離散和連續(xù)兩類來討論數(shù)學期望。 離散型 對隨機變量X的分布律為 若級數(shù) 絕對收斂,則稱該級數(shù)為X的數(shù)學期望,記為E(X)。即 連續(xù)型 當我們把上面的求和換成

    2024年02月09日
    瀏覽(23)
  • 第四章 搜索功能

    指定返回的字段 在ES中,通過_source子句可以設(shè)定返回結(jié)果的字段。_source指向一個JSON數(shù)組,數(shù)組中的元素是希望返回的字段名稱。 例如,通過source指定查詢字段 結(jié)果計數(shù) 給前端傳遞搜索匹配結(jié)果的文檔條數(shù),即需要對搜索結(jié)果進行計數(shù)。ES提供了_count API功能,在該API中,用

    2023年04月08日
    瀏覽(35)
  • 第四章 Text

    第四章 Text

    在本章中,您將學習如何在頁面上繪制文本。 繪圖文本是 PDF 圖形中最復(fù)雜的部分,但它也是幫助 PDF 擊敗競爭對手成為當今國際標準的原因。 當其他原始播放器將文本轉(zhuǎn)換為光柵圖像或矢量路徑(以保持視覺完整性)時,PDF 的發(fā)明者知道用戶需要可以搜索和復(fù)制的文本,而

    2024年02月06日
    瀏覽(33)
  • 四,Eureka 第四章

    四,Eureka 第四章

    ? ? ? ?2.3.4修改主啟動類 標注為Eureka客戶端 ? ? ? ? ? springcloud-eureka-sever-7001 springcloud-eureka-sever-7001? ?springcloud-eureka-sever003 ? ? ? ? ? 5.25編寫PaymentMapper接口? ?5. ? ?

    2024年02月15日
    瀏覽(25)
  • 計網(wǎng):第四章 網(wǎng)絡(luò)層

    計網(wǎng):第四章 網(wǎng)絡(luò)層

    基于湖科大教書匠b站計算機網(wǎng)絡(luò)教學視頻以及本校課程老師ppt 整合出的計算機網(wǎng)絡(luò)學習筆記 根據(jù)文章目錄,具體內(nèi)容都在附贈的pdf文件中,適合日常學習、考前沖刺 一下是第四章筆記中大概的知識點內(nèi)容,歡迎查漏補缺^^ 可以在電腦網(wǎng)頁端進行下載哦~ 目錄 1.網(wǎng)絡(luò)層概述

    2024年01月24日
    瀏覽(33)
  • linux第四章(網(wǎng)絡(luò))

    linux第四章(網(wǎng)絡(luò))

    在配置前首先查看本機的ensXX信息:cat ens160.nmconnection 看本機配置:cd /etc/NetworkManager/ ? ? ? ? ? ? ? ? ? ? ? cd? system-connextions/? ? ls 一。接口管理命令:ip命令/nmcli命令/nmtui命令 1.對IP地址進行操作: ip的命令: IP link:顯示網(wǎng)絡(luò)設(shè)備的運行狀態(tài) ip -s show ens160:查看設(shè)備(en

    2024年01月19日
    瀏覽(21)
  • 第四章網(wǎng)關(guān)

    第四章網(wǎng)關(guān)

    Spring Cloud Gateway 是 Spring Cloud 的一個全新項目,該項目是基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等響應(yīng)式編程和事件流技術(shù)開發(fā)的網(wǎng)關(guān),它旨在為微服務(wù)架構(gòu)提供一種簡單有效的統(tǒng)一的 API 路由管理方式。 Gateway網(wǎng)關(guān)是我們服務(wù)的守門神,所有微服務(wù)的統(tǒng)一入口。 網(wǎng)關(guān)的核

    2024年02月10日
    瀏覽(24)
  • 第四章 RPC 調(diào)用

    第四章 RPC 調(diào)用

    通過以上案例我們發(fā)現(xiàn),Http請求調(diào)用服務(wù)實例屬實過于麻煩。其實對于請求同一個服務(wù),很多步驟都是相同的,例如:服務(wù)名,地址,httpClient 創(chuàng)建步驟等。 RPC的出現(xiàn),就是為了解決這一問題。 RPC: 即我們常說的遠程過程調(diào)用,就是像調(diào)用本地方法一樣調(diào)用遠程方法,通信協(xié)

    2024年02月04日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包