Mission Carthage

الرئيسية › الدروس › مسائل نموذجية

القواسم والأعداد الأولية وPGCD بـ Python وAlgo

الفصل 8 · السنة الثانية ثانوي تكنولوجيات الإعلامية

الكلاسيكيات متاع الفروض: القواسم، الأعداد الأولية، الأرقام، PGCD.

دروس هذا الفصل

  1. القواسم والأعداد الأولية
  2. أرقام عدد
  3. PGCD و PPCM

الدرس 8.1 : القواسم والأعداد الأولية

9 دقيقة

العدد d هو قاسم لـ n كان باقي قسمة n على d يساوي 0، يعني n mod d = 0. باش نلقاو القواسم الكل متاع n، نختبرو كل d من 1 لـ n بـ boucle Pour.

العدد الأولي

العدد أولي كان عندو بالضبط زوز قواسم: 1 وروحو. 7 أولي (1 و7). 12 موش أولي (1، 2، 3، 4، 6، 12). 1 موش أولي: عندو قاسم واحد برك.

الطريقة: عدّ قواسم n. كان فما بالضبط 2، n أولي.

نصيحة : تنجم تكون أسرع: يكفي تختبر الـ d حتى جذر n. أما ابدا بالطريقة البسيطة، دايما مقبولة.

بـ Python

نختبرو الأعداد الكل من 1 لـ n: اللي يقسمو n يتكتبو.

n = int(input())
print("Diviseurs de", n, ":")
for d in range(1, n + 1):
    if n % d == 0:
        print(d)

بـ algorithme

نفس البرنامج في الـ algorithme، بـ mod.

Algorithme Diviseurs
Début
  Lire(n)
  Ecrire("Diviseurs de ", n, " :")
  Pour d de 1 à n Faire
    Si n mod d = 0 Alors
      Ecrire(d)
    FinSi
  FinPour
Fin

TDO
Objet | Type/Nature
n, d | Entier

الدرس 8.2 : أرقام عدد

8 دقيقة

باش نقلبو عدد (1234 → 4321)، نبنيو الـ miroir رقم برقم. في كل دورة: نزيحو الـ miroir بمرتبة (miroir * 10)، نزيدو آخر رقم متاع n (n mod 10)، وبعد نشيلو الرقم هذا من n (n div 10).

الـ palindrome numérique هو عدد يساوي الـ miroir متاعو: 1221، 7، 4004.

انتبه : الـ boucle تخرّب n (يوفى 0). باش تقارن من بعد بالعدد اللي بديت بيه، احتفظ بنسخة من n قبل الـ boucle.

بـ Python

لـ 1234: miroir تساوي 4، وبعد 43، وبعد 432، وبعد 4321.

n = int(input())
miroir = 0
while n > 0:
    miroir = miroir * 10 + n % 10
    n = n // 10
print("Miroir :", miroir)

بـ algorithme

نفس الطريقة بـ mod و div.

Algorithme Miroir
Début
  Lire(n)
  miroir ← 0
  TantQue n > 0 Faire
    miroir ← miroir * 10 + n mod 10
    n ← n div 10
  FinTantQue
  Ecrire("Miroir : ", miroir)
Fin

TDO
Objet | Type/Nature
n, miroir | Entier

الدرس 8.3 : PGCD و PPCM

9 دقيقة

الـ PGCD متاع زوز أعداد a و b هو أكبر قاسم مشترك بينهم. algorithme d'Euclide يحسبو من غير ما نختبرو الأعداد الكل: مادام b موش صفر، نبدّلو (a, b) بـ (b, باقي a ÷ b). كي b تساوي 0، الـ PGCD هو a.

مثال: PGCD(48, 18) → (18, 12) → (12, 6) → (6, 0). الـ PGCD هو 6.

الـ PPCM

الـ PPCM (أصغر مضاعف مشترك) يتحسب من الـ PGCD: PPCM = a × b div PGCD. نستعملوه باش نبسّطو الكسور: نقسمو البسط والمقام على الـ PGCD متاعهم.

بـ Python

في كل دورة (a, b) تولّي (b, a mod b). كي b تساوي 0، a فيها الـ PGCD.

a = int(input())
b = int(input())
while b != 0:
    r = a % b
    a = b
    b = r
print("PGCD :", a)

بـ algorithme

algorithme d'Euclide بالـ notation متاع الـ algorithme.

Algorithme Euclide
Début
  Lire(a)
  Lire(b)
  TantQue b ≠ 0 Faire
    r ← a mod b
    a ← b
    b ← r
  FinTantQue
  Ecrire("PGCD : ", a)
Fin

TDO
Objet | Type/Nature
a, b, r | Entier

تدرّب مجانًا

كل درس فيه 3 تمارين مجانية مع تلميحات و8 مهمّات من اللعبة باش تطبّق الفصل هذا مع هنّيبوت.

افتح الفصل في Mission Carthage جرّب في الكومبيلاتور أونلاين

← الفصل اللي قبل : Tant que و Répéter · الفصل اللي بعد : الجداول (Tableaux) →

كل الفصول · شوف فروض 2 تكنولوجيا المصلّحة

الدروس كتبناها لـ Mission Carthage على أساس البرنامج الرسمي. الأستاذ متاعك يبقى المرجع.