صفحه 1 از 1

روش غربال

ارسال شده: شنبه ۱۳۹۹/۳/۱۰ - ۱۶:۴۳
توسط metalman1990b
کسی راه حل ساده داره برای مسئله زیر؟
سوال از این مورد زیاد دیدم یک راه حل ساده میخوام
در روش غربال اعداد 200تا400
الف)آخرین عددی که خط میخورد چیست؟
ب)15عددی که خط میخورد چیست؟

Re: روش غربال

ارسال شده: شنبه ۱۳۹۹/۳/۱۰ - ۲۱:۱۲
توسط gij
غربال چی؟؟؟
برای پیدا کردن عدد اول؟؟؟

Re: روش غربال

ارسال شده: یک‌شنبه ۱۳۹۹/۳/۱۱ - ۱۵:۵۱
توسط ببر راه راه
metalman1990b نوشته شده:
شنبه ۱۳۹۹/۳/۱۰ - ۱۶:۴۳
کسی راه حل ساده داره برای مسئله زیر؟
سوال از این مورد زیاد دیدم یک راه حل ساده میخوام
در روش غربال اعداد 200تا400
الف)آخرین عددی که خط میخورد چیست؟
ب)15عددی که خط میخورد چیست؟
نمیدونم منظورتون از راه حل ساده چیه =| کلا راه سختی نداره. من اگه خودم باشم این شکلی حل میکنم.
برای قسمت الف:
خب اول میایم میبینیم آخرین عدد اولی که باید تو این غربال بررسی بشه چنده. اون عدد، نوزدهه چون نوزده به توان 2 میشه 361 (و از 400 کوچیک تره هنوز، درحالی که عدد اولِ بعدی یعنی 23، به توان 2 که برسه از 400 بزرگ تر میشه.)
پس آخرین عددی که خط میخوره، توسط 19 خط میخوره. حالا میایم به مضارب 19 نگاه میکنیم. آخرین مضرب 19 که از 400 کوچیکتره، 19×21=399 ـه. پس آخرین عددی که خط میخوره، 399 هستش.

برای قسمت ب:
میدونیم اولین عدد اول، دوئه. پس نگاه میکنیم که قراره چندتا عدد تو این غربال توسط دو خط بخورن. قطعا تعدادشون از 15 بیشتره پس میفهمیم پونزدهمین عددی که قراره تو این غربال خط بخوره، از مضارب دوئه.
حالا این معادله رو حل میکنیم: 15 = 2/(n-2)
[ پانزده برابر است با ، n منهای دو تقسیم بر دو]

n=32
پس پونزدهمین عددی که خط میخوره، 32 هستش.

+ حالا اگه ناواضح توضیح دادم و نیازی بود، بگین راه حل رو تو کاغذ بنویسم براتون عکس بندازم. |:

Re: روش غربال

ارسال شده: چهارشنبه ۱۳۹۹/۱۰/۲۴ - ۱۸:۳۰
توسط mobinaazarbad
میایم میگیم عدد 19 بزرگترین عدد اولیه که مربعش از 400 کوچیکتره و 19 ضربدر 23 هم میشه 437 پس اخرین عددی که خظ میخوره 361 که 19*19
براای ب هم چون اول مضارب 2 رو خط میزنم و تعداد مضارب 2 بین 200 و 400 بیشتر از 15 پس عددمون مضرب 2 و
200-202-204-206-..........- و 15همین عدد 228 میشه

Re: روش غربال

ارسال شده: چهارشنبه ۱۳۹۹/۱۰/۲۴ - ۲۱:۱۵
توسط rohamavation
اگر عدد صحیح، کمتر یا مساوی با ۱ است، مقدار False را بازگردان.
اکنون، تعداد ارقامی که بخش‌پذیری n بر آن‌ها مورد بررسی قرار می‌گیرد را به تعداد ریشه دوم عدد کاهش بده.
اگر عدد قابل تقسیم به هر عددی از n تا ریشه دوم عدد بود، مقدار false را باز گردان.
در غیر این صورت، مقدار true را بازگردان الگوریتم ان راه ریاضی اون $\begin{align}d(A_0)&=1,\\
d(A_1)&=d(A_0)\left(1-\frac1{p_1}\right)=\frac{p_1-1}{p_1},\\
d(A_2)&=d(A_1)\left(1-\frac1{p_2}\right)=\frac{p_1-1}{p_1}\frac{p_2-1}{p_2},\\
&\dots\\
d(A_n)&=\prod_{i=1}^n\frac{p_i-1}{p_i},\\
&\dots
\end{align} $
روش دیگه $f(n) = f \left( \left\lfloor \left\lfloor \frac{n}{10} \right\rfloor \big/ 10 \right\rfloor \right) + 3 (n \ \mathrm{mod}\ {10}) + (\left\lfloor \frac{n}{10} \right\rfloor \ \mathrm{mod} \ 10) $ بهترین همین پایتون یک الگوریتم هست
یک برنامه ده خطی Python
def is_prime(n=int(input('Enter number to check if it is prime: '))):
for i in range(2, int(n**0.5)+1):
if n % i == 0:
return f'{n} is not prime'

return f'{n} is prime'


prime = is_prime()
print(prime)
و برنامه بعدی تصویر