ไม่ต้องเสียเวลาแนะนำตัวผู้เขียนกันเลยล่ะกันครับ มาทำความรู้จัก”ทฤษฎีจำนวนกัน”เลยดีกว่า
ทฤษฎีจำนวน เป็นสาขาหนึ่งของคณิตศาสตร์บริสุทธิ์ ซึ่งศึกษาเกี่ยวกับคุณสมบัติของจำนวนเต็ม
ส่วนทฤษฎีจำนวนเบื้องต้นที่ผู้เขียนจะเขียนในบล็อกนี้นั้น จะเป็นความรู้พื้นฐานของทฤษฎีจำนวน ซึ่งมีเนื้อหาหลัก ๆ เช่น การหารลงตัว, ตัวหารร่วม, ตัวหารร่วมมาก, Euclidean Algorithm และอื่น ๆ ซึ่งจะเขียนครั้งเดียวก็คงจะไม่จบ ผู้เขียนจะขอค่อย ๆ แยกเขียนต่อไปเรื่อย ๆ
นิยามของการหารลงตัว : เราจะกล่าวว่าจำนวนเต็ม
หาร
ลงตัว (
) ถ้าเราสามารถหา
ที่ทำให้ 
(เช่น
เพราะ
)
Note:
คือเซตของจำนวนเต็ม ,ถ้า
หาร
ไม่ลงตัวใช้สัญลักษณ์ 
ถ้า
และ
แล้ว 
ถ้า
แล้ว 
ถ้า
และ
แล้ว 
ให้
เป็นจำนวนเต็ม เราจะสามารถหาจำนวนเต็ม
และ
ที่ทำให้
และ
ได้เพียงคู่เดียวเท่านั้น
(เช่น
)
เนื่องจากในภาษา C/C++
%
ซึ่งไม่ใช่เศษจากการหารที่แท้จริง เพราะเศษที่เราต้องการควรจะเป็น 
เวลาเขียนโปรแกรมในการหาเศษจากการหารจึงควรเขียนเป็น
int mod(int x,int y) { return (x%y+y)%y; } //ใช้ได้เฉพาะเมื่อ y>0 เท่านั้น
#define MOD(x,y) (x%y+y)%yMOD(x,rand()) จะได้ค่าเป็น (x%rand()+rand())%rand()
เรากล่าวว่า
เป็นตัวหารร่วมของ
และ
ถ้า
และ 
นิยามของตัวหารร่วมมาก : ให้
และ
เป็นจำนวนเต็มที่ตัวใดตัวหนึ่งไม่เป็น
เรากล่าวว่า
เป็นตัวหารร่วมมากของ
และ
ถ้า
มีค่ามากที่สุดเท่าที่จะเป็นไปได้ เราใช้สัญลักษณ์
หรือ
แทนตัวหารร่วมมากของ 
(เช่น
เป็นตัวหารร่วมมากของ
และ
)
Euclidean Algorithm เป็นขั้นตอนวิธีหาตัวหารร่วมมาก
ตัวหารร่วมมากนั้นมีสมบัติที่สำคัญที่ทำให้เกิด Euclidean Algorithm คือ
1.
2.
%
เราจึงสามารถเขียนโค้ดของ Euclidean Algorithm ได้เป็น
int Euclid(int a,int b) { if(b==0) return a; else return Euclid(b,mod(a,b)); }