View Full Version : الگوریتم اعداد اول
saeedkhan
جمعه 20 خرداد 1384, 14:03 عصر
کسی کدی داره که بشه اعداد اول رو پشت هم نوشت :گیج:
امیر-نا
شنبه 21 خرداد 1384, 20:44 عصر
با سلام اینم کدش:
function Prime(n as integer)
dim i,t
for i=1 to n
if n mod i=0 then t=t+1
if t=2 then
return=1
else return=0
end function
dim i
for i=1 to 200
if prime(i) then
response.write i
اگه نشد بگو تا برات کدشو بنویسم بفرسم
امیر
M-Gheibi
یک شنبه 22 خرداد 1384, 08:04 صبح
سلام
برای نمایش اعداد اول از 1 تا x میتونید از تابع زیر استفاده کنید:
<%
function prime(x)
if x < 2 then
response.write ("No number")
end if
for m = 2 to x
for i = 1 to m
n = m mod i
if n = 0 then
c = c + 1
end if
next
if c = 2 then
response.write(m & "<BR>")
end if
c = 0
next
end function
%>
برای مثال برای چاپ اعداد اول از 1 تا 1000 از تابع فوق بدین شکل استفاده کنید:
<%
prime(1000)
%>
اگه به مشکلی برخورد کردید بگید چون همین الآن نوشتمش و ممکنه ایراداتی داشته باشه. :sorry:
روز خوش
saeedkhan
یک شنبه 22 خرداد 1384, 20:44 عصر
آقا مسعود کار شما هیچوقت مشکل نداره ... :موفق:
البته اگر میشه میخواستم ببینم آیا میشه سومین عدد یا آخرین عدد رو از این تابع گرفت
M-Gheibi
یک شنبه 22 خرداد 1384, 21:11 عصر
سومین عدد
با یه حلقه + شمارشگر میتونید این کار رو انجام بدید.
آخرین عدد
اگه فهمیدید آخرین عدد اول چیه من رو هم خبر کنید :mrgreen:
3nitro
دوشنبه 23 خرداد 1384, 11:00 صبح
نمی خوام تاپیک رو منحرف کنم ولی اولا که آخرین عدد اول رو پیدا کردند که چندماه پیش خبرش در اخبار پخش شد .
ثانیا منظور ایشون احتمالا این بوده که مثلا prime(1000( مثلا 997 آخرین عدد اول هست . البته شاید هم منظورشون این نبوده . :D
saeedkhan
دوشنبه 23 خرداد 1384, 14:35 عصر
prime(1000( مثلا 997 آخرین عدد اول هست .
درسته !
M-Gheibi
دوشنبه 23 خرداد 1384, 16:09 عصر
سلام
آخرین عدد اول رو پیدا کردند که چندماه پیش خبرش در اخبار پخش شد .
بنده بی خبر بودم. :)
من کد بالا رو به صورت زیر اطلاح کردم تا تمام این کارها رو انجام بده:
<%
Function Prime(Maximum,Number,Reverse)
'Maximum = hade bala
'Number = tedad adade morede nazar
'NumCounter = shomarande baraye tedad adade bargashti
'Remainder = baghimande
'Counter = shomarandeye tedad maghsoumon elayh ha
'V1 va V2 = moteghayerhaye estefade shode dar halgheha
If Maximum < 2 Then
Response.Write ("No number")
End If
NumCounter = 0
Select Case Reverse
Case -1
For V1 = Maximum To 2 Step -1
For V2 = 1 To V1
Remainder = V1 Mod V2
If Remainder = 0 Then
Counter = Counter + 1
End If
Next
If Counter = 2 Then
Response.Write(V1 & "<BR>")
NumCounter = NumCounter + 1
End If
Counter = 0
If NumCounter = Number Then
Exit Function
End If
Next
Case 1
For V1 = 2 to Maximum
For V2 = 1 to V1
Remainder = V1 mod V2
If Remainder = 0 Then
Counter = Counter + 1
End If
Next
If Counter = 2 Then
Response.Write(V1 & "<BR>")
NumCounter = NumCounter + 1
End If
Counter = 0
If NumCounter = Number Then
Exit Function
End If
Next
End Select
End Function
%>
مثال:
برای اینکه 10 عدد نخست از اعداد اول در بازه 0 تا 500 را بدست آورید ٬ از تابع فوق بدین شکل استفاده کنید:
Prime 500,10,1
برای اینکه 10 عدد آخر از اعداد اول در بازه 0 تا 500 را بدست آورید ٬ از تابع فوق بدین شکل استفاده کنید:
Prime 500,10,-1
مشخص است که برای بدست آوردن آخرین عدد اول در بازه مورد نظر باید از کد زیر استفاده کرد:
Prime xxx,1,-1
امیدوارم مفید بوده باشه :)
3nitro
دوشنبه 23 خرداد 1384, 19:01 عصر
:strange:
عالیه ( ! ) ... {مرسی حوصله :موفق:}
مهدی
دوشنبه 23 خرداد 1384, 23:26 عصر
این ماجرای
آخرین عدد اول رو پیدا کردند که چندماه پیش خبرش در اخبار پخش شد . چیه؟ :kaf:
مهدی
دوشنبه 23 خرداد 1384, 23:46 عصر
این ماجرای
آخرین عدد اول رو پیدا کردند که چندماه پیش خبرش در اخبار پخش شد . چیه؟ :kaf:
saeedkhan
شنبه 28 خرداد 1384, 06:32 صبح
یه دانشمند آلمانی تونست آخرین عدد اول رو توسط یک برنامه که خودش نوشته بود با یه پردازنده ابر رایانه ای با 16 رقم کشف کنه البته بعضی ها معتقدند که باز هم وجود داره (با استناد به اصل نظریه اعداد ترکیبی) من هم دنبال همون ها میگشتم
در ضمن آقا مسعود واقعا خسته نباشی :تشویق:
مهدی
شنبه 28 خرداد 1384, 13:10 عصر
میشه یه لینک در این مورد بدین که دقیقتر بفهمم قضیه چیه!
saeedkhan
یک شنبه 29 خرداد 1384, 17:25 عصر
گوگل رو برای همین مواقع گزاشتن :flower:
مهدی
یک شنبه 29 خرداد 1384, 18:34 عصر
اخوی! گشتم پیدا نکردم. حالا شما وقت کردین یه حالی بدین :موفق:
3nitro
یک شنبه 29 خرداد 1384, 20:00 عصر
الان حضور ذهن ندارم . به آرشیو اخبار صدا و سیما مراجعه کنید . :موفق:
ab_ba
سه شنبه 31 خرداد 1384, 08:35 صبح
ببخشیدا
البته اون آخرین عدد اول نبود (چون تو دنیای بینهایت آخری معنا نمیده) بلکه بزرگترین عدد اولی که انسان اونو پیدا کرده حتی اگر کسی بتونه عدد اولی که از این عدد بزرگتره را پیدا کنه دولت آمریکا جایزه هم میده از این اعداد در رمز گذاری الکترونیکی برای رد وبدل کردن اطلاعات بصورت سری استفاده میشه
مهدی
سه شنبه 31 خرداد 1384, 08:39 صبح
میدونم! منم واسه همین کف کردم! فکر کردم ثابت کردند که آخریشه که کفم برید!
saeedkhan
پنج شنبه 02 تیر 1384, 09:09 صبح
فکر کردم ثابت کردند که آخریشه که کفم برید!
شما درست فکر کردید این اثبات شده و تا زمانی که نقض اون اراعه نشه کسی نمیتونه بگه که این بزرگترین عدد اول نیست
چون تو دنیای بینهایت آخری معنا نمیده
این مسئله هم که شما میگید هم درسته هم غلط :
آلبرت نورن (رباضیدان هلندی) معتقد که اعداد اول جایی باید تموم بشه چون هر چه ما اعداد رو به صورت دنباله بیاوریم در پله های بالا اعدادی وجود دارند که بقیه اعداد رو تحت پوششی قرار میدهند برای مثال
1,2,3,4
2*2=4
العان 4 توسط 2 محاط شده پس 4 اول نیست ...
این بازه را اگر اینقدر بزرگ کنیم که ملیون ها عدد اول رو در خود داشته باشه دانباله اعداد اول (زور نزنید این دنباله کشف نشده) در بازه های پایانی به سمت صفر نزول میکند...
اگر کافی نبود ببخشید ... :sorry:
مهدی
پنج شنبه 02 تیر 1384, 12:42 عصر
و تا زمانی که نقض اون اراعه نشه کسی نمیتونه بگه که این بزرگترین عدد اول نیست
برای اثبات باید دلیل ارایه کرد و برای رد کردن مثال نقض. پس وقتی هیچکدوم ارایه نشده هیچی نه اثبات شده نه رد! بنابراین کشف جدیدی انجام نشده! فقط یه عدد اول خیلی خیلی بزرگ پیدا شده که بزرگترش هنوز پیدا نشده! در ضمن همونطور که کسی نمیتونه بگه این بزرگترین نیست کسی هم نمیتونه بگه هست.
این بازه را اگر اینقدر بزرگ کنیم که ملیون ها عدد اول رو در خود داشته باشه دانباله اعداد اول (زور نزنید این دنباله کشف نشده) در بازه های پایانی به سمت صفر نزول میکند...
درسته. به سمت صفر میل میکنه. اما هیچ کس نتونسته ثابت کنه که خود صفر میشه! اصولا لزومی نداره که وقتی عددی به صفر میل کرد حتما بگیم پس صفر میشه! به صفر میل کردن یعنی در بینهایت صفر میشه که یعنی از جنبه عملی صفر نمیشه!
saeedkhan
سه شنبه 07 تیر 1384, 13:11 عصر
در بینهایت صفر میشه
لازم نیست خود صفر بشود فقط کافی از 1 کوچکتر بشود تا عدد حقیقی دیگری وجود نداشته باشد ... :flower:
وقتی عددی به صفر میل کرد
عدد به سمت صفر میل نمیکند قدر نسبت به سمت صفر میل میکند که همونجور که در بالا توضیح دادم بعد از اون که از یک کوچکتر شد اعداد یک سیکل بسته رو دنبال میکنند :موفق:
3nitro
سه شنبه 07 تیر 1384, 14:30 عصر
من که هیچ چیز سر در نیاوردم . :embr:
مهدی
سه شنبه 07 تیر 1384, 15:16 عصر
لازم نیست خود صفر بشود فقط کافی از 1 کوچکتر بشود
خوب تا همینجاشم فکر نمیکنم اثبات شده باشه.
ضمنا من هنوز دنبال لینک خبر هستم و پیداش نکردم :(
saeedkhan
چهارشنبه 08 تیر 1384, 18:10 عصر
irib.ir archive :flower:
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.