الرئيسية › الدروس › مسائل نموذجية
القواسم والأعداد الأولية وPGCD بـ Python وAlgo
الكلاسيكيات متاع الفروض: القواسم، الأعداد الأولية، الأرقام، PGCD.
دروس هذا الفصل
- القواسم والأعداد الأولية
- أرقام عدد
- PGCD و PPCM
الدرس 8.1 : القواسم والأعداد الأولية
العدد 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 : أرقام عدد
باش نقلبو عدد (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
الـ 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 مهمّات من اللعبة باش تطبّق الفصل هذا مع هنّيبوت.
← الفصل اللي قبل : Tant que و Répéter · الفصل اللي بعد : الجداول (Tableaux) →
كل الفصول · شوف فروض 2 تكنولوجيا المصلّحة
الدروس كتبناها لـ Mission Carthage على أساس البرنامج الرسمي. الأستاذ متاعك يبقى المرجع.