国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

[POJ2407]歐拉函數(shù)的值

2019-11-11 01:59:16
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

原題

題目描述

給定整數(shù)n,求n的歐拉函數(shù)的值

輸入

多組數(shù)據(jù) 每行一個(gè)整數(shù),表示n( 1 <= n <= 1,000,000,000) 一個(gè)0,表示輸入結(jié)束

輸出

每行輸入一個(gè)整數(shù),表示對(duì)應(yīng)的n的歐拉函數(shù)值

樣例輸入

7 12 0

樣例輸出

6 4

分析

要解決這道題,我們先來(lái)了解什么是歐拉函數(shù)和歐拉定理。

歐拉函數(shù)φ:不超過(guò)n的且與n互質(zhì)的正整數(shù)的個(gè)數(shù)。 如果n為素?cái)?shù)p,則φ(p)=p?1 如果n為素?cái)?shù)p的冪次pa,則φ(pa)=(p?1)?pa?1. 歐拉函數(shù)為積性函數(shù):如果n為任意兩個(gè)互質(zhì)的數(shù)a、b的積,則φ(n)=φ(a)?φ(b)

n=p1a1?p2a2?……?pkakφ(n)=n?(1?1/p1)?(1?1/p2)?……?(1?1/pk)

歐拉定理: 若a與m互質(zhì),則aφ(m)≡1(mod m)

所以,我們就得出了歐拉計(jì)算函數(shù)。

int euler(int n){ int m=int(sqrt(n+0.5)),ans=n; for(int i=2;i<=m;i++) if(n%i==0){ ans=ans/i*(i-1); while(n%i==0) n/=i; } if(n>1) ans=ans/n*(n-1); return ans;}

源代碼

#include<iostream>#include<cstdio>#include<cmath>using namespace std;int euler(int n){ int m=int(sqrt(n+0.5)),ans=n; for(int i=2;i<=m;i++) if(n%i==0){ ans=ans/i*(i-1); while(n%i==0) n/=i; } if(n>1) ans=ans/n*(n-1); return ans;}int main(){ int x; while(scanf("%d",&x)&&x)
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 宣威市| 唐河县| 彭山县| 广丰县| 乌拉特中旗| 香河县| 鹤壁市| 新丰县| 北碚区| 庄河市| 佳木斯市| 定日县| 桦南县| 诸城市| 新巴尔虎左旗| 铜梁县| 蚌埠市| 迭部县| 上高县| 新竹市| 海原县| 临清市| 韩城市| 五原县| 丰顺县| 富顺县| 田阳县| 永胜县| 唐海县| 拜泉县| 当涂县| 庆阳市| 伊川县| 桐庐县| 临漳县| 阜宁县| 福安市| 广东省| 宁化县| 临邑县| 安国市|