الانتقال إلى المحتوى الرئيسي

اكتب برنامجا للعثور على القاسم المشترك الأكبر لعددين طبيعيين

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

للعثور على عقد رقمين طبيعيين ، يمكنك استخدام خوارزمية إقليدس. يعتمد على حقيقة أن العقدة(أ ، ب) تساوي العقدة(ب ، أ وزارة الدفاع ب) ، حيث "وزارة الدفاع" هي عملية إيجاد ما تبقى من القسمة. تكرر الخوارزمية تقسيم الأرقام حتى يصبح أحدها صفرا ، والباقي يساوي أكبر قاسم مشترك.

يمكن تمثيل خوارزمية إقليدس على النحو التالي:

  1. إذا كان رقم واحد هو صفر ، فإننا نرجع رقما آخر كنتيجة.
  2. بقسمة الرقم الأول على الثاني ، نحصل على ما تبقى من القسمة.
  3. استبدل الرقم الأول بالرقم الثاني ، والرقم الثاني بما تبقى من القسمة.
  4. كرر الخطوتين 2 و 3 حتى يصبح أحد الأرقام صفرا.
  5. نرجع رقم غير صفري نتيجة لذلك.

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

  1. برنامج لإيجاد القاسم المشترك الأكبر من رقمين
  2. خوارزمية إقليدس لإيجاد العقد
  3. تنفيذ البرنامج بلغة برمجة
  4. التحقق من صحة البرنامج
  5. سؤال وجواب
  6. كيف يعمل البرنامج للعثور على أكبر قاسم مشترك?
  7. ماذا يحدث إذا كان كلا الرقمين صفرا?
  8. هل من الممكن استخدام هذا البرنامج للعثور على العقد من عدد كبير من الأرقام?

برنامج لإيجاد القاسم المشترك الأكبر من رقمين

أكبر القاسم المشترك (غد) من رقمين هو أكبر عدد الذي كلا الرقمين قابلة للقسمة دون بقية.

يمكن استخدام طرق مختلفة للعثور على عقد رقمين، مثل:

  • طريقة إقليدس
  • ابحث عن قواسم بسيطة
  • تحليل الأرقام

الأكثر فعالية منهم هو الطريقة الإقليدية.

خوارزمية الطريقة الإقليدية:

  1. يتم إعطاء رقمين أ و ب
  2. نتحقق مما إذا كان ب يساوي صفرا. إذا كانت الإجابة بنعم ، فإن العقدة تساوي أ ويتم إنهاء العملية.
  3. نجد ما تبقى من قسمة الرقم أ على الرقم ب
  4. نقوم بتعيين ب قيمة أ ، والباقي من القسمة هو قيمة ب
  5. العودة إلى الخطوة 2

يوضح برنامج بايثون أدناه تنفيذ خوارزمية طريقة إقليدس للعثور على العقد:

(أ ، ب):

بينما ب != 0:

أ ، ب = ب ، أ ٪ ب

العودة أ

# مثال على استخدام الوظيفة

رقم 1 = 12

الرقم 2 = 18

النتيجة = غد (رقم 1 ، رقم 2)

طباعة (و " عقدة الأرقام {رقم 1} و {رقم 2} تساوي {نتيجة}")

في هذا المثال ، يعثر البرنامج على عقد الرقمين 12 و 18 ، ويخرج النتيجة "عقدة الرقمين 12 و 18 هي 6" على الشاشة.

وبالتالي ، فإن برنامج العثور على أكبر قاسم مشترك لرقمين باستخدام الطريقة الإقليدية يسمح لك بالعثور على عقدة بشكل فعال واستخدامها في العديد من المشكلات الرياضية.

خوارزمية إقليدس لإيجاد العقد

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

بادئ ذي بدء ، ضع في اعتبارك تعريف العقدة. العقدة المكونة من رقمين أ و ب هو أكبر عدد يقبل به هذان الرقمان القسمة بدون الباقي.

يتم تنفيذ خوارزمية إقليدس على النحو التالي:

  1. دع أ و ب يكون رقمين نريد إيجاد عقدة لهما.
  2. طالما ب لا يساوي 0 ، اتبع الخطوات التالية:
    1. احسب ما تبقى من قسمة أ على ب ودللها على ر.
    2. تعيين أ إلى ب.
    3. تعيين ب قيمة ص.
  3. في نهاية الدورة ، سيكون أ مساويا للعقدة (أ ، ب).
مثال:
العثور على عقدة (48 ، 36)
  • الخطوة 1: أ = 48 ، ب = 36
  • الخطوة 2:
    • احسب الباقي: 48 ٪ 36 = 12 (ص = 12)
    • نحصل على قيم جديدة: أ = 36 ، ب = 12
  • الخطوة 3: كرر الخطوة 2
    • احسب الباقي: 36 ٪ 12 = 0 (ص = 0)
    • نحصل على قيم جديدة: أ = 12 ، ب = 0
  • الخطوة 4: ب هو 0 ، اكتمال الدورة
  • العقدة(48 ، 36) = 12

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

تنفيذ البرنامج بلغة برمجة

للعثور على القاسم المشترك الأكبر (غد) من اثنين من الأرقام الطبيعية ، يمكنك استخدام خوارزمية إقليدس. تعتمد هذه الخوارزمية على مبدأ إيجاد الباقي عند قسمة الأرقام الأصلية على بعضها البعض.

في برنامج لغة البرمجة ، يمكنك استخدام الكود التالي للعثور على عقد رقمين:

  1. تتم كتابة الأرقام الأولية للمتغيرين أ و ب.
  2. يتم حساب ما تبقى من قسمة الرقم أ على الرقم ب باستخدام عامل٪.
  3. حتى يصبح الباقي 0 ، نغير قيم المتغيرات أ و ب على النحو التالي: أ يأخذ قيمة ب ، و ب يأخذ قيمة الباقي من قسمة أ على ب.
  4. بعد نهاية الدورة ، ستكون قيمة المتغير ب مساوية لعقدة الأرقام الأصلية.

هنا مثال على كود بايثون تنفيذ هذه الخوارزمية:

(أ ، ب):

بينما ب:

أ ، ب = ب ، أ ٪ ب

العودة أ

طباعة (غد (24 ، 36)) # المخرجات 12

في هذا المثال ، تأخذ وظيفة غد وسيطتين أ و ب ، وإرجاع عقدة هذين الرقمين. ثم يستدعي البرنامج هذه الوظيفة بالقيمتين 24 و 36 ، ويخرج النتيجة — 12.

يمكن تكييف المثال أعلاه للاستخدام في لغات البرمجة الأخرى عن طريق تغيير بناء جملة لغة معينة.

التحقق من صحة البرنامج

يمكن استخدام عدة طرق للتحقق من أن البرنامج يعمل بشكل صحيح.

  1. أمثلة الاختبار:
  2. يمكنك إدراج مجموعات مختلفة من الأرقام في البرنامج ومقارنة النتيجة بالقيمة المتوقعة. على سبيل المثال:

    • إذا قمت بإدخال الأرقام 15 و 20 ، فإن النتيجة المتوقعة هي 5.
    • إذا قمت بإدخال الأرقام 36 و 48 ، فإن النتيجة المتوقعة هي 12.
    • إذا قمت بإدخال الأرقام 17 و 34 ، فإن النتيجة المتوقعة هي 17.
  3. الحسابات الرياضية:
  4. يمكن استخدام الحسابات الرياضية للتحقق. يمكن العثور على عقدة رقمين باستخدام صيغة من نظرية الأعداد.

    بالنسبة لرقمين أ و ب ، يمكن حساب العقدة(أ ، ب) على النحو التالي:

    • إذا كان أ هو 0 ، فإن العقدة (أ ، ب) تساوي ب.
    • إذا ب هو 0 ، ثم العقدة (أ ، ب) هو أ.
    • خلاف ذلك ، العقدة(أ ، ب) تساوي العقدة (ب ، أ مودولو ب) ، حيث مودولو هي عملية إيجاد ما تبقى من القسمة.

    تتيح لك هذه الطريقة مقارنة نتيجة البرنامج بالنتيجة التي تم الحصول عليها عن طريق الحسابات الرياضية.

باستخدام طرق التحقق هذه ، يمكنك التحقق من صحة البرنامج وقدرته على العثور على القاسم المشترك الأكبر لأي رقمين طبيعيين.

سؤال وجواب

كيف يعمل البرنامج للعثور على أكبر قاسم مشترك?

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

ماذا يحدث إذا كان كلا الرقمين صفرا?

إذا كان كلا الرقمين صفرا ، يقوم البرنامج بإرجاع رسالة تفيد بأن القاسم المشترك الأكبر غير محدد ، لأن الصفر لا يقبل القسمة على أي شيء.

هل من الممكن استخدام هذا البرنامج للعثور على العقد من عدد كبير من الأرقام?

لا ، تم تصميم هذا البرنامج فقط للعثور على القاسم المشترك الأكبر من رقمين. إذا كنت بحاجة إلى العثور على أكبر قاسم مشترك لعدد أكبر من الأرقام ، فيمكنك استخدام حلقة أو دالة تكرارية للعثور على عقد رقمين بالتسلسل. على سبيل المثال ، يمكنك أخذ الرقمين الأول والثاني ، والعثور على العقد الخاصة بهما ، ثم استخدام العقدة الناتجة بدلا من الرقم الثاني والعثور على العقدة مع الرقم الثالث ، وهكذا حتى تجد عقدة جميع الأرقام.