主頁 >  其他 > 歐拉函式證明與代碼實作

歐拉函式證明與代碼實作

2023-06-29 08:39:46 其他

歐拉函式

  • 定義
    對于正整數n小于等于n的數中與n互質的數的個數記為\(\varphi(n)\),即為歐拉函式
  • 歐拉公式
    由算數基本定理任意一個正整數都可以寫作n=\(p_1^{a_1}p_2^{a_2}\cdots p_k^{a^k}\)
    那么\(\varphi(n)=n\prod\limits_{i=1}^{k}({1-\frac{1}{p_i}})\)
  • 數學證明
    首先\(\varphi(n)\)是一個積性函式
    \(\varphi(a_1*a_2)=\varphi(a_1)*\varphi(a_2)\)這個的證明這里不作敘述可看這個鏈接積性證明
    然后從1到一個數\(p_n^{a_n}\)一共有\(p_n^{a_n}\)個數其中與其不互質的有\(p_n,2p_n,3p_n\dots p_n^{a_n}(p_n^{a_{n-1}}*p_n)\)一共有\(p_n^{a_{n-1}}\)個數,所以與其互質的一共有\(p_n^{a_n}(1-\frac{1}{p_n})個\)
    所以有:

\[ \varphi(n)=\varphi(p_1^{a_1})*\varphi(p_2^{a_2})\dots\varphi(p_k^{a_k})\\ =p_1^{a_1}(1-\frac{1}{p_1})*p_2^{a_2}(1-\frac{1}{p_2})\dots*p_k^{a_k}\\=n*\prod\limits_{i=1}^{k}(1-\frac{1}{p_i}) \]

  • 代碼實作
#include<iostream>
using namespace std;
int main()
{
    int n;
    cin>>n;
    while(n--)
    {
        int a;
        scanf("%d",&a);
        int res=a;
        for(int i=2;i<=a/i;i++)
        {
            if(a%i==0)
            {
                res=res/i*(i-1);//注意先除再乘防止爆int
            }
            while(a%i==0)
            {
                a/=i;
            }
        }
        if(a>1)
        {
            res=res/a*(a-1);
        }
        printf("%d\n",res);
    }
    
    
    return 0;
}
  • 代碼細節
    注意res=res/i*(i-1)這里要先除再乘防止爆int 可能會有疑問我們推導的公式中\(1-\frac{1}{p_i}\)是一個小數但是c++里/是向下取整的,那么這里會不會有問題呢?其實是完全沒問題的 我們可以看到只有當a%i==0時我們才會進行res的操作并且每次回圈中a至少都和res除i除的一樣多也就是說只要a中有約數 i 那么res中也一定有 i 一定不會出現小數,

Written with StackEdit中文版.

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/556247.html

標籤:其他

上一篇:可觀測性是什么? 入門指南

下一篇:返回列表

標籤雲
其他(161819) Python(38259) JavaScript(25515) Java(18273) C(15238) 區塊鏈(8273) C#(7972) AI(7469) 爪哇(7425) MySQL(7271) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5875) 数组(5741) R(5409) Linux(5347) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4607) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2438) ASP.NET(2404) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) .NET技术(1985) HtmlCss(1976) 功能(1967) Web開發(1951) C++(1942) python-3.x(1918) 弹簧靴(1913) xml(1889) PostgreSQL(1881) .NETCore(1863) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • 網閘典型架構簡述

    網閘架構一般分為兩種:三主機的三系統架構網閘和雙主機的2+1架構網閘。 三主機架構分別為內端機、外端機和仲裁機。三機無論從軟體和硬體上均各自獨立。首先從硬體上來看,三機都用各自獨立的主板、記憶體及存盤設備。從軟體上來看,三機有各自獨立的作業系統。這樣能達到完全的三機獨立。對于“2+1”系統,“2”分為 ......

    uj5u.com 2020-09-10 02:00:44 more
  • 如何從xshell上傳檔案到centos linux虛擬機里

    如何從xshell上傳檔案到centos linux虛擬機里及:虛擬機CentOs下執行 yum -y install lrzsz命令,出現錯誤:鏡像無法找到軟體包 前言 一、安裝lrzsz步驟 二、上傳檔案 三、遇到的問題及解決方案 總結 前言 提示:其實很簡單,往虛擬機上安裝一個上傳檔案的工具 ......

    uj5u.com 2020-09-10 02:00:47 more
  • 一、SQLMAP入門

    一、SQLMAP入門 1、判斷是否存在注入 sqlmap.py -u 網址/id=1 id=1不可缺少。當注入點后面的引數大于兩個時。需要加雙引號, sqlmap.py -u "網址/id=1&uid=1" 2、判斷文本中的請求是否存在注入 從文本中加載http請求,SQLMAP可以從一個文本檔案中 ......

    uj5u.com 2020-09-10 02:00:50 more
  • Metasploit 簡單使用教程

    metasploit 簡單使用教程 浩先生, 2020-08-28 16:18:25 分類專欄: kail 網路安全 linux 文章標簽: linux資訊安全 編輯 著作權 metasploit 使用教程 前言 一、Metasploit是什么? 二、準備作業 三、具體步驟 前言 Msfconsole ......

    uj5u.com 2020-09-10 02:00:53 more
  • 游戲逆向之驅動層與用戶層通訊

    驅動層代碼: #pragma once #include <ntifs.h> #define add_code CTL_CODE(FILE_DEVICE_UNKNOWN,0x800,METHOD_BUFFERED,FILE_ANY_ACCESS) /* 更多游戲逆向視頻www.yxfzedu.com ......

    uj5u.com 2020-09-10 02:00:56 more
  • 北斗電力時鐘(北斗授時服務器)讓網路資料更精準

    北斗電力時鐘(北斗授時服務器)讓網路資料更精準 北斗電力時鐘(北斗授時服務器)讓網路資料更精準 京準電子科技官微——ahjzsz 近幾年,資訊技術的得了快速發展,互聯網在逐漸普及,其在人們生活和生產中都得到了廣泛應用,并且取得了不錯的應用效果。計算機網路資訊在電力系統中的應用,一方面使電力系統的運行 ......

    uj5u.com 2020-09-10 02:01:03 more
  • 【CTF】CTFHub 技能樹 彩蛋 writeup

    ?碎碎念 CTFHub:https://www.ctfhub.com/ 筆者入門CTF時時剛開始刷的是bugku的舊平臺,后來才有了CTFHub。 感覺不論是網頁UI設計,還是題目質量,賽事跟蹤,工具軟體都做得很不錯。 而且因為獨到的金幣制度的確讓人有一種想去刷題賺金幣的感覺。 個人還是非常喜歡這個 ......

    uj5u.com 2020-09-10 02:04:05 more
  • 02windows基礎操作

    我學到了一下幾點 Windows系統目錄結構與滲透的作用 常見Windows的服務詳解 Windows埠詳解 常用的Windows注冊表詳解 hacker DOS命令詳解(net user / type /md /rd/ dir /cd /net use copy、批處理 等) 利用dos命令制作 ......

    uj5u.com 2020-09-10 02:04:18 more
  • 03.Linux基礎操作

    我學到了以下幾點 01Linux系統介紹02系統安裝,密碼啊破解03Linux常用命令04LAMP 01LINUX windows: win03 8 12 16 19 配置不繁瑣 Linux:redhat,centos(紅帽社區版),Ubuntu server,suse unix:金融機構,證券,銀 ......

    uj5u.com 2020-09-10 02:04:30 more
  • 05HTML

    01HTML介紹 02頭部標簽講解03基礎標簽講解04表單標簽講解 HTML前段語言 js1.了解代碼2.根據代碼 懂得挖掘漏洞 (POST注入/XSS漏洞上傳)3.黑帽seo 白帽seo 客戶網站被黑帽植入劫持代碼如何處理4.熟悉html表單 <html><head><title>TDK標題,描述 ......

    uj5u.com 2020-09-10 02:04:36 more
最新发布
  • 歐拉函式證明與代碼實作

    # 歐拉函式 - 定義 對于正整數n小于等于n的數中與n互質的數的個數記為$\varphi(n)$,即為歐拉函式 - 歐拉公式 由算數基本定理任意一個正整數都可以寫作n=$p_1^{a_1}p_2^{a_2}\cdots p_k^{a^k}$ 那么$\varphi(n)=n\prod\limits_ ......

    uj5u.com 2023-06-29 08:39:46 more
  • 可觀測性是什么? 入門指南

    如果您之前對可觀測性重要性,益處,以及組成不甚了解,本文是一個合適的指南手冊。 什么是可觀測性? 可觀測性被定義為根據系統產生的輸出資料(如日志,指標和鏈路追蹤)來衡量當前系統運行狀態的能力。 可觀測性目前被廣泛的用于提升分布式 IT 系統的穩定性(系統復雜度成倍提升,在故障或者例外時很難快速定位和 ......

    uj5u.com 2023-06-29 08:38:33 more
  • Sudo堆溢位漏洞(CVE-2021-3156)復現

    2021年1月26日,Qualys Research Labs在 sudo 發現了一個缺陷。sudo 決議命令列引數的方式時,錯誤的判斷了截斷符,從而導致攻擊者可以惡意構造載荷,使得sudo發生堆溢位,該漏洞在配合環境變數等分配堆以及釋放堆的原語下,可以致使本地提權。 ......

    uj5u.com 2023-06-29 08:38:06 more
  • 鏈家廣州二手房分析 2023

    因為詳細的資料分析在之前的文章中已經做過,而且這次重新爬取資料主要也是為了比較一下廣州二手房市場的一些新變化,所以完整且詳細的分析就不再重復了,有興趣的讀者可以翻開之前的文章。 不過我利用這些新資料確實看到了一些有趣的變化。這篇文章將會零碎的分享這些新發現。 #### 天河一騎絕塵 從影像可以看出, ......

    uj5u.com 2023-06-29 08:37:26 more
  • 11個開源專案,5位技術大咖…華為云亮相2023開放原子全球開源峰會

    摘要:華為云受邀參加了2023開放原子全球開源峰會中開源資料庫、開源安全技術與實踐等分論壇,并承辦了云原生分論壇 2023年6月13日,由2023全球數字經濟大會組委會主辦,開放原子開源基金會、北京市經濟和資訊化局、北京經濟技術開發區管理委員會承辦的2023開放原子全球開源峰會在北京圓滿落幕。本次峰 ......

    uj5u.com 2023-06-29 08:37:07 more
  • 資料恢復EaseUS(資料恢復神器)

    易我資料恢復EaseUS Data Recovery Wizard 技術員終身版為全球提供資料恢復方案,用于誤刪資料資料,電腦誤刪檔案恢復,格式化硬碟資料恢復、手機U盤資料恢復等。RAID磁盤陣列資料恢復,磁區丟失及其它未知原因丟失的資料恢復、簡單易用輕松搞定資料恢復。 EaseUS 堪稱是最好的數 ......

    uj5u.com 2023-06-29 08:36:50 more
  • 不糾結語法(田靜)

    # 第一章 簡單句的核心 ## 第一節 簡單句的核心構成 ### 簡單句的核心導圖 ![img](https://img2023.cnblogs.com/blog/2807357/202306/2807357-20230628161238883-1987928337.png) ### 注意: - 主 ......

    uj5u.com 2023-06-29 08:36:10 more
  • 分享一次性能測驗程序,5個步驟直接起飛!

    在企業中完成性能測驗專案是一個挑戰性強、技術含量高的任務。本文將分享一個公司完成高性能游戲系統的性能測驗程序,展示如何完成一次成功的性能測驗專案。 專案背景:這是一家游戲公司,推出了一款新的游戲軟體,系統要求高性能、高并發、高可用,為確保用戶體驗和游戲體驗,公司決定在正式上線前對系統進行性能測驗. ......

    uj5u.com 2023-06-29 08:35:42 more
  • 業務安全情報第十七期 | 國際航班上,小“票代”在瘋狂倒賣高價票

    頂象防御云業務安全情報中心監測發現,某航空國際航班,遭遇惡意網路爬蟲的持續攻擊。高峰時期,B2C網站惡意網路爬蟲的訪問量達84%,嚴重占用網路帶寬。此外,小“票代”還進行航班票價的倒賣,直接影響乘客正常查詢和購票。 乘坐國際航班,躲不開的“票代” 《2022年民航行業發展統計公報》顯示,國際航線完成 ......

    uj5u.com 2023-06-29 08:35:32 more
  • 解決TrueNAS中Smb共享檔案路徑不區分大小寫的問題

    # 問題 在Truenas中, 默認的smb檔案分享中, 檔案夾是不區分大小寫的. 這在一些情況下會導致無法重命名等問題, 嚴重時可能會造成拷貝檔案時的全檔案夾檔案丟失. 這是linux下的情況, 在已存在others檔案夾的情況下, 若再新建Others檔案夾, 會提示目錄已存在, 但實際上兩個目 ......

    uj5u.com 2023-06-29 08:35:20 more