日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

欧拉定理和C语言实现 - win32版

發布時間:2025/4/14 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 欧拉定理和C语言实现 - win32版 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

歐拉定理

在數論中,歐拉定理(Euler Theorem,也稱費馬-歐拉定理或歐拉函數定理)是一個關于同余的性質。

歐拉定理有什么用?歐拉定理是RSA算法的核心。要實現RSA算法,需要編程實現此定理。

那么什么是同余?余,就是余數;mod之后的余數。

同余
數論中的重要概念。給定一個正整數m,如果兩個整數a和b滿足a-b能夠被m整除,即(a-b)/m得到一個整數,那么就稱整數a與b對模m同余,記作a≡b(mod m)。
對模m同余是整數的一個等價關系。

歐拉φ函數的值

 通式:φ(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…..(1-1/pn),其中p1, p2……pn為x的所有質因數,x是不為0的整數。φ(1)=1(唯一和1互質的數(小于等于1)就是1本身)。?
(注意:每種質因數只一個。比如12=2*2*3 ?歐拉公式
那么φ(12)=12*(1-1/2)*(1-1/3)=4
若n是質數p的k次冪,φ(n)=p^k-p^(k-1)=(p-1)p^(k-1),因為除了p的倍數外,其他數都跟n互質。
設n為正整數,以 φ(n)表示不超過n且與n互
素的正整數的個數,稱為n的歐拉函數值,這里函數
φ:N→N,n→φ(n)稱為歐拉函數。

ψ(10)=10×(1-1/2)×(1-1/5)=4;
ψ(30)=30×(1-1/2)×(1-1/3)×(1-1/5)=8;
ψ(49)=49×(1-1/7)= =42;

碼;

#include <windows.h>using namespace std;int eular(int );int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow) {char szBuffer[100];int fai=eular(49);wsprintf(szBuffer, "%d",fai);MessageBox(NULL,szBuffer,TEXT("歐拉函數值"),0);return 0; }int eular(int n) { int ret=1,i; for(i=2;i*i<=n;i++) if(n%i==0) { n/=i,ret*=i-1; while(n%i==0) n/=i,ret*=i; } if(n>1){ ret*=n-1; //cout << n << endl;}return ret; }

不同的歐拉函數值如下;

工程;?

?

總結

以上是生活随笔為你收集整理的欧拉定理和C语言实现 - win32版的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。