lanqiaoOJ 4330:歐拉函數模板

【題目來源】
https://www.lanqiao.cn/problems/4330/learning/

【問題描述】
這是一道模板題。
首先給出歐拉函數的定義:即 φ(n) 表示的是小于等于 n 的數中和 n 互質的數的個數。
比如說 φ(6)=2,當 n 是質數的時候,顯然有φ(n)=n-1。

【題目大意】
給定 n 個正整數,請你求出每個數的歐拉函數。

【輸入格式】
輸入共兩行。
第一行輸入一個整數表示 n。
第二行輸入 n 個整數。

【輸出格式】
輸出共 n 行,每行輸出 1 個整數表示對應數字的歐拉函數。???????

【輸入樣例】
3
3 6 8???????

【輸出樣例】
2
2
4

【說明】
小于等于 3 的數中與 3 互質的有:1, 2。
小于等于 6 的數中與 6 互質的有:1, 5。
小于等于 8 的數中與 8 互質的有:1, 3, 5, 7。

【評測數據規模】
保證 1≤n≤100,輸入的 n 個整數范圍為 [1,
2×10^9]。

【算法分析】
● 歐拉函數
φ(n) 是數論中的重要函數,用于計算小于等于 n 的數中和 n 互質的數的個數。特別地,當 n=1 時,φ(1)=1。

● 歐拉函數的計算公式:若 N 的質因數分解為
N=p??1×p??2×...×p???,則 φ(N)=N×(1-1/p?)×(1-1/p?)×...×(1-1/p?)。其中,p?,…,p?,是 N 的所有質因數。
【例如, 由于 18=2×32,所以 φ(18)=18×(1-1/2)×(1-1/3)=6(表示 1~18 中與 18 互質的正整數有 1,5,7,11,13,17 等 6 個)。詳見:https://blog.csdn.net/hnjzsyjyj/article/details/148135689】

● 歐拉函數性質?
(1)
若p是質數,φ(p)=p-1
例如,φ(5)?=5-1=4(表示 1~5 中與 5 互質的正整數有 1,2,3,4 等 4 個)。
(2)
若n=p?,φ(p?)=p?-p??1
例如,φ(8)?=23-22=8-4=4(表示 1~8 中與 8 互質的正整數有 1,3,5,7 等 4 個)
(3)積性函數:
當 a,b 互質時,φ(ab)=φ(a)φ(b)
例如,φ(10)=φ(2)×φ(5)=1×4=4(表示 1~10 中與 10 互質的正整數有 1,3,7,9 等 4 個)
(4)通用計算公式:
φ(N)=N×(1-1/p?)×(1-1/p?)×...×(1-1/p?)。其中,p?,…,p?,是 N 的所有質因數。

【算法代碼】

#include <bits/stdc++.h>
using namespace std;const int maxn=105;
int a[maxn];int oula(int x) {int ans=x;for(int i=2; i*i<=x; i++) {if(x%i==0) {ans=ans/i*(i-1);while(x%i==0) x/=i;}}if(x>1) ans=ans/x*(x-1);return ans;
}int main() {int n;cin>>n;for(int i=1; i<=n; i++) {cin>>a[i];cout<<oula(a[i])<<endl;}return 0;
}/*
in:
3
3 6 8out:
2
2
4
*/



【參考文獻】
https://blog.csdn.net/hnjzsyjyj/article/details/148159326
https://blog.csdn.net/hnjzsyjyj/article/details/148135689



?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/81051.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/81051.shtml
英文地址,請注明出處:http://en.pswp.cn/web/81051.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

無人機電子防抖技術要點概述!

一、技術要點 1. 傳感器數據融合 電子防抖需結合陀螺儀、加速度計、視覺傳感器等多源數據&#xff0c;實時檢測無人機的姿態變化和振動頻率。例如&#xff0c;IMU&#xff08;慣性測量單元&#xff09;通過加速度計和陀螺儀測量飛行器的姿態和運動狀態&#xff0c;結合視覺感…

Win10 安裝單機版ES(elasticsearch),整合IK分詞器和安裝Kibana

一. 先查看本機windows是否安裝了ES(elasticsearch)&#xff0c;檢查方法如下&#xff1a; 檢查進程 按 Ctrl Shift Esc 組合鍵打開 “任務管理器”。在 “進程” 選項卡中&#xff0c;查看是否有 elasticsearch 相關進程。如果有&#xff0c;說明系統安裝了 ES。 檢查端口…

BIO、NIO、AIO 的區別與實戰應用解析

導語&#xff1a; BIO、NIO 和 AIO 是后端面試中的經典話題&#xff0c;尤其在高并發、高性能場景下更是重中之重。本文將從面試官視角出發&#xff0c;深入剖析三者的區別、典型題目和實戰解答&#xff0c;助你掌握答題技巧&#xff0c;輕松拿下這一高頻考點&#xff01; 一、…

電腦風扇轉速不正常的原因

一、硬件故障或接觸問題 1. 風扇本身損壞 扇葉卡頓或軸承磨損&#xff1a;灰塵堆積、異物纏繞&#xff08;如頭發、線纜&#xff09;會導致扇葉轉動阻力增大&#xff0c;發出異響并轉速下降&#xff1b;軸承潤滑脂干涸或老化會引起風扇噪音大、轉速不穩定。電機故障&#xff…

運維打鐵:生產服務器用戶權限管理方案全解析

文章目錄 一、引言二、方案設計2.1 權限模型選擇2.2 角色定義2.3 權限分配2.4 用戶與角色關聯 三、相關代碼注釋&#xff08;以 Linux 系統為例&#xff09;3.1 用戶創建與角色分配腳本3.2 權限設置腳本 四、常見問題解決4.1 用戶無法登錄4.2 用戶權限不足4.3 權限文件修改后不…

在tp6模版中加減法

實際項目中&#xff0c;我們經常需要標簽變量加減運算的操作。但是&#xff0c;在ThinkPHP中&#xff0c;并不支持模板變量直接運算的操作。幸運的是&#xff0c;它提供了自定義函數的方法&#xff0c;我們可以利用自定義函數解決&#xff1a;ThinkPHP模板自定義函數語法如下&a…

Fastjson利用鏈JdbcRowSetImpl分析

首先創建客戶端 package com.yq1ng.vul;import com.alibaba.fastjson.JSON;/*** FastJsonTest** author yq1ng* date 2021/12/29 19:45* since 1.0.0*/ public class FastJsonTest {public static void main(String[] args) {String ser "{\"type\":\"co…

基于OAuth2-proxy和Keycloak為comfyui實現SSO

背景 comfyui無認證被漏掃后易被rce挖礦 攻擊過程 https://www.oschina.net/news/340226 https://github.com/comfyanonymous/ComfyUI/discussions/5165 阿里云漏洞庫關于comfyui的漏洞 https://avd.aliyun.com/search?qcomfyui&timestamp__1384n4%2BxBD0GitGQ0QD8ID%2F…

第R7周:糖尿病預測模型優化探索

文章目錄 1.數據預處理1.1 設置GPU1.2 數據導入1.3 數據檢查 2. 數據分析2.1 數據分布分析2.2 相關性分析 3. LSTM模型3.1 劃分數據集3.2 數據集構建3.3 定義模型 4. 訓練模型4.1 定義訓練函數4.2 定義測試函數4.3 訓練模型 5. 模型評估5.1 Loss與Accuracy圖 6. 總結 &#x1f…

一些好用的Chrome 擴展程序

以下是按主要功能分類的 Chrome 擴展程序列表&#xff0c;包括其版本號、中文功能簡述以及指向其主頁或 Chrome 網上應用店頁面的鏈接。 翻譯與語言 沉浸式翻譯 - 網頁翻譯插件 | PDF 翻譯 | 免費 版本: 1.16.12 描述: 【沉浸式翻譯】免費的&#xff08;原文 / 譯文&#xff0…

貪心算法題目合集2

貪心算法題目合集2 一般排序排隊接水整數區間金銀島尋找平面上的極大點NOIP 2008 普及組 排座椅 推導排序規律NOIP 1998 提高組 拼數排序規則的正確性證明&#xff1a;全序關系證明拼數的貪心策略正確P2878 [USACO07JAN] Protecting the Flowers SP1842 [USACO05NOV] 奶牛玩雜技…

全方位詳解微服務架構中的Service Mesh(服務網格)

一、引言 隨著微服務架構的廣泛應用&#xff0c;微服務之間的通信管理、流量控制、安全保障等問題變得日益復雜。服務網格&#xff08;Service Mesh&#xff09;作為一種新興的技術&#xff0c;為解決這些問題提供了有效的方案。它將服務間通信的管理從微服務代碼中分離出來&a…

如何在VSCode中更換默認瀏覽器:完整指南

引言 作為前端開發者&#xff0c;我們經常需要在VSCode中快速預覽HTML文件。默認情況下&#xff0c;VSCode會使用系統默認瀏覽器打開文件&#xff0c;但有時我們可能需要切換到其他瀏覽器進行測試。本文將詳細介紹如何在VSCode中更換默認瀏覽器。 方法一&#xff1a;使用VSCo…

【普及+/提高】洛谷P2613 【模板】有理數取余——快讀+快速冪

題目來源 P2613 【模板】有理數取余 - 洛谷 題目描述 給出一個有理數 cba?&#xff0c;求 cmod19260817 的值。 這個值被定義為 bx≡a(mod19260817) 的解。 輸入格式 一共兩行。 第一行&#xff0c;一個整數 a。 第二行&#xff0c;一個整數 b。 輸出格式 一個整數&a…

從編程助手到AI工程師:Trae插件Builder模式實戰Excel合并工具開發

Trae插件下載鏈接&#xff1a;https://www.trae.com.cn/plugin 引言&#xff1a;AI編程工具的新紀元 在軟件開發領域&#xff0c;AI輔助編程正在經歷一場革命性的變革。Trae插件&#xff08;原MarsCode編程助手&#xff09;最新推出的Builder模式&#xff0c;標志著AI編程工具…

Python set集合方法詳解

""" set()函數是個無序的去重集合&#xff0c;可以用來過濾重復元素 Python 提供了 2 種創建 set 集合的方法&#xff0c;分別是使用 {} 創建和使用 set() 函數將列表、元組等類型數據轉換為集合 """# 空集合 s0 set() # 正確方式 →…

各類Agent技術的發展現狀和核心痛點

AI Agent主要分類 Agent&#xff08;智能體&#xff09;技術是指具有自主感知、決策與執行能力的軟件系統&#xff0c;能夠在環境中完成特定任務。目前常見的Agent類型主要包括&#xff1a; - 基于大模型的智能體&#xff1a;以GPT-4等大型語言模型為核心&#xff0c;如AutoGP…

單片機-STM32部分:18、WiFi模組

飛書文檔https://x509p6c8to.feishu.cn/wiki/WFmqwImDViDUezkF7ercZuNDnve 一、WiFi模組應用 當設備需要連接網絡&#xff0c;實現遠程控制&#xff0c;狀態監控時&#xff0c;就需要添加通信模組&#xff0c;常見的通信模組WiFi模組、2G模組、4G模組等&#xff1a; 我們的板卡…

探索Qwen2ForCausalLM 架構上進行微調

簡述 試驗參考了mini_qwen 的開源實現 GitHub - qiufengqijun/mini_qwen: 這是一個從頭訓練大語言模型的項目&#xff0c;包括預訓練、微調和直接偏好優化&#xff0c;模型擁有1B參數&#xff0c;支持中英文。這是一個從頭訓練大語言模型的項目&#xff0c;包括預訓練、微調和…

hysAnalyser特色的TS流編輯、剪輯和轉存MP4功能說明

摘要 hysAnalyser 是一款特色的 MPEG-TS 數據分析工具&#xff0c;融合了常規TS文件的剪輯&#xff0c;轉存功能&#xff0c;可用于平常的視頻開發和測試。 本文詳細闡述了對MPEG-TS 流的節目ID&#xff0c;名稱&#xff0c;PID&#xff0c;時間戳&#xff0c;流類型&#xff…