Problem #38 Is Prime Number

preview_player
Показать описание
Join us on Telegram:
Рекомендации по теме
Комментарии
Автор

✅Don't Forget to LIKE 👍 SUBSCRIBE 🔔 SHARE ↗

لا تنسى الاشتراك في القناة وتفعيل زر الجرس، ولطفا ادعمنا بلايك وشارك هذا الفيديو مع اصدقائك لتعم الفائدة للجميع

ProgrammingAdvices
Автор

بالنسبى للناس الي وجدت صعوبة فى السؤال مثلي 😂 اولا لازم تحاول فالسؤال اكتر من مرة قبل متشوف شرحي للسؤال وان شاء الله تفهم❤ سأقوم بشرح الخوارميات التى حل بها الاستاذ محمد ابوهدود سنعتبر ال 1 عدد غير أولى؛ يمكنك اعتباره أولى كما فعل الأستاذ ولكن ما أعرفه انه غير أولى
على العموم هذا ليس المهم دعنا نبدا


هذه هى الخطوات التى سار عليها البرنامج :
1. إذا كان العدد 2، فإنه يُعتبر عددًا أوليًا مباشرة ونطبع "prime" وننهي البرنامج.
2. إذا كان العدد غير 2، ننتقل إلى الخطوة الثانية:
- نبدأ باختبار ما إذا كان العدد N يقسم على counter دون بقية (N mod counter = 0).
- إذا كان الناتج يدل على أن N غير عدد أولي (بمعنى آخر، يمكن تقسيمه على عدد آخر غير 1 ونفسه بدون بقية)، فإننا نطبع "not prime" وننهي البرنامج.
- إذا لم يكن الناتج كذلك، ننتقل إلى الخطوة الثالثة.
3. نبدأ الآن في فحص قيمة counter:
- إذا كانت قيمة counter تساوي N - 1، فإننا نعرف أنه تم فحص جميع الأعداد من 2 إلى N - 1 بالفعل دون أن نجد أي عدد يقسم N بدون بقية.
- في هذه الحالة، نطبع "prime" لأنه لم يتم العثور على أي عامل غير 1 ونفسه.
- إذا كانت قيمة counter أقل من N - 1، فإننا نزيد قيمة counter بمقدار واحد ونكرر العملية.

باختصار، عندما نصل إلى counter = N - 1 ولا نجد أي عدد يقسم N بدون بقية، فإن ذلك يؤكد أن N عدد أولي، لأنه لا يمكن تقسيمه على أي عدد آخر غير 1 ونفسه دون بقية

## وبالنسبة للطريقة المحسنة كل مابها اننا بدلا من ان نصنع loop تمر على كل الارقام التى نقسم عليها لحد N-1 نجعلها تمر على M (نصف العدد بداية من ال 2) فقط لاننا حينما نصل الى الترقام نصف العدد سيكون دائما الناتج كسر وهذا ما يحقق شرط ال prime فلا داعى لاختباره ونختبر التقسيم على النصف الاول فقط



فى النهاية انا أسهبت جدا جدا حتى تكون الامر واضحة وأرجو ذلك فعلا 😂😂
ولا تنسونى من صالح دعائكم فى هذه الأيام المفترجة ❤❤

ASPECT-ALIWAHEED
Автор

بعد تجربة ...اي حلقة ما بتفهمها عيدها 4 او 5 او اكثر مرات ....بتفهم كل شي فيهاااا ....ربنا يحفظك دكتور

mohamadabdullah
Автор

المسألة هي كانت صعبة الفهم علي بالبداية و لكن بعد تكرار الفيديو ؛ تم الأمر 👍 نصيحة لنفسي و لكل حدا عم يتعلم لا تستسلموا ابداً، و أنا سعيد جدا بتعليقات الناس الجميلة و دعمهم للناس اللي بدأت تيئس ، بارك الله في الجميع و بارك الله فيك يا استاذ و رحم الله والديك ❤

yazaneskef
Автор

بارك الله جهودك ونفع بك وجزاك خيرا ورحمك و والديك وأحسن اليكم❤

ex-sniper
Автор

فائدة رياضية: لا تحتاج لأن تكون قيمة M نصف N بل يكفي أن نتوقف عند الجذر التربيعي لN وبهذا نقلل التكرارات وهذا يكفي
فائدة من مدرس رياضيات
جزاك الله خير دكتور ويرحم والديك

mahmoudalrefai
Автор

الحمدلله
مسألة نوعا ما صعبة قليلا ولكن بداية الطريق هكذا
بارك الله فيك أستاذ محمد ورحم الله والديك

Yousef_Ahmed
Автор

رحم الله والديك وأسكنهما الفردوس الأعلى من غير حساب ولا سابق عذاب وتغمدهما بالرحمة والمغفرة.

abomalek
Автор

من لم يفهم من المرة الأولى فسيفهم من تكرار مشاهدة الفيديو مرتين أو أكثر ..
لدي طريقة أخرى للحل لكن معرفة عدة طرق أفضل ( زيادة الخير خير ) ..
شكراً لك أستاذ على التوضيح ...

hozanalkurdi
Автор

🚫🚫🚫⚠⚠⚠⚠⚠⚠🚫🚫🚫🚫🚫🚫🚫🚫🚫🚫🚫🚫🚫🚫🚫
اولا جزاك الله خير عندي استفسار يا استاذ بالنسبة ل N=1 الفلوشارت تصبح خاطئة لان 1 عدد غير اولي
According to flow chart (counter=2>1=N) so N=1 is prime
لايك يا اخوان كي يراه الاستاذ 👍👍👍👍

osamceo
Автор

اي خوارزمية ما تفهمها حاول تكتبها على شكل خطوات صيغهم للبرنامج مثلًا
خطوة 1 ابدأ
خطوة 2 اقرأ الرقم هل هو اصغر او = 0 اذا نعم،هنا نكتب اول احتمال وهو ان الرقم prime مباشرتًا .
اذا لا،لا يساوي 0 هنا نكتبله متغير ونعرف المتغير counter = 2
بعدين اكتب ثاني احتمال هل الرقم الي ادخله المستخدم = قيمة المتغير ؟ لا هنا نكتله ثالث احتمال
وهكذا تكتبهم على ورقة وتكتب كل الاحتمالات بهاذي الصيغة وبعدين ترجع تقرأهم وتفهم .

TheOnlyMyName
Автор

الله يعطيك العافيه استاذنا الكريم الله يرحم والديك ويجعل مثواهم الجنه يارب 🌹🥰
معا نحو القمة🔥✌️
Problem 38 done 2022/9/24

gldghost
Автор

رحم الله والدينا ووالديكم وغفر لهم أجمعين .. آمين .. شكراً على هذا الشرح الوافي .. الله يبيض وجهك ويحقق لك كل ماتتمناه .. شكراَ إلى عنان السماء

mohammedismail
Автор

الله يعيك العافية أستاذ محمد ويرحم والديك ويجعلها في ميزان حسناتك يا رب .

Omar_Al_Basrawi
Автор

جزاك الله خيرا على الشرح الدقيق.
رحم الله والديك وأسكنهما الفردوس الأعلى من غير حساب ولا سابق عذاب وتغمدهما بالرحمة والمغفرة.

raidsu-mx
Автор

Thanks for your efforts. Algorithm 2 will not work for big numbers because it is O(n/2) which is approximately O(n) and you cant make more than 1e7 operations. However, their is a proof in discrete mathematics that states that you can check all the divisors till sqrt(n) which is more optimized.

aliosrfmkqmwssjnnkn
Автор

thanks for evreything you have done for us im still in lesson 9 but i will watching all the next videos < from morocco> thanks agian 3> i have 20 years old end you are the one i start learned end i will get this prgraming language incha lah 3>

zakaria-TheWolf-
Автор

الحمد لله أستطعت فهم المشكلة وحلها بعد مشاهدة شرح درس الأعداد الأولية

MHN
Автор

ربنا يبارك فيك يا بشمهندس و يرحم والديك ويرزقك من فضله

omarskr
Автор

تعديل بسيط عند الدقيقة 3:55 الواحد ليس عدد اولي .... وتعديل اخر يمكن استخدام الجذر التربيعي للعدد المدخل وبهيك بتكون عملت اوبتمايز بنسبة 90% لنو فرضا دخلت عدد 10000 او اكبر ....
def is_prime(num):
if num <= 1:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0:
return False
return True

# Example usage
number = int(input("Enter a number: "))
if is_prime(number):
print(number, "is a prime number.")
else:
print(number, "is not a prime number.")

pythonforever