اعداد کامل
در نظریه اعداد، عدد کامل، یک عدد صحیح مثبت است که برابر با مجموع مقسومعلیههای سرهٔ مثبت خود (همهٔ مقسومعلیههای مثبتش غیر از خود عدد) باشد. همچنین به طور هم ارز، یک عدد کامل، عددی است که نصف مجموع همهٔ مقسومعلیههای مثبت خود باشد. (ویکی پدیا)
نخستین عدد کامل ۶ است. زیرا ۱+۲+۳=۶ یا به طور هم ارز، ۶=۲ / (۱+۲+۳+۶). بعد از آن ۲۸ و بعد از آن به ترتیب ۴۹۶ و ۸۱۲۸ قرار دارند.
الگوریتم کلی اعداد اول:
Function IsPerfectNumber (Num) As Boolean
SumOfDivisors <-- 1
Counter <-- 2
MaxCounter <-- Num / 2
while Counter <= MaxCounter do
if Num mod Counter = 0 then
SumOfDivisors <-- SumOfDivisors + Counter
if SumOfDivisors > Num then
return false
Counter <-- Counter + 1
if SumOfDivisors = Num then
return true
return false
ادامه مطلب ...
حدس کولاتز (Collatz conjecture)
حدس کولاتز یکی از حدسهای حل نشده در ریاضیات است. این حدس به افتخار لوتار کولاتز، که این موضوع را در سال۱۹۳۷ مطرح کرد، حدس کولاتز نام گرفت. این حدس همچنین به عنوان حدس 3n+1 نیز شناخته میشود. این گونه حدسها میپرسد که آیا یک رشتهٔ خاص از اعداد، صرف نظر از این که چه عددی را به عنوان عدد اولیه انتخاب میکنیم، همیشه به یک صورت تمام میشود. (منبع : ویکی پدیا)
حالت کلی الگوریتم به صورت زیر است:
void Collatz(int Num):
while Num > 1 do:
show Num
if Num mod 2 == 1 then
Num <- 3 * Num + 1
Else
Num <- Num / 2
show Num
توابع محاسبه ب.م.م (GCD) و ک.م.م (LCM) دو عدد به زبان های مختلف :
F#:
ادامه مطلب ...let GCD(a : int, b : int) : int =let mutable rv : int = 0let mutable ia : int = alet mutable ib : int = bwhile rv = 0 doif ia = 0 thenrv <- ibelseib <- ib % iaif ib = 0 thenrv <- iaelseia <- ia % ibrv