Contact și feedback

Nu obții 100 de puncte sau ai nelămuriri în privința problemelor? Scrie-mi pe Instagram.


Ai găsit o greșeală, vrei să raportezi un utilizator sau vrei să comunici altceva? Folosește formularul de contact.


Vrei să ne transmiți o părere despre platformă? Folosește formularul de feedback.

Shortcuturi

Folosește următoarele shortcuturi pentru a naviga mai ușor pe platformă.

Generale

Meniu shortcuturi?
Căutare probleme sau utilizatori/
Navigare printre rezultatele căutării↑, ↓
Meniu de contact și feedbackCTRL + Shift + F
Ieșire din meniuriEsc

Editor probleme

Setări editorCTRL + Shift + S
Schimbare stil editorCTRL + Shift + E
Șabloane de codCTRL + Shift + 1/2/3
Golire editorCTRL + Shift + 4

CMMMC a două numere în C++ (cel mai mic multiplu comun)

Dându-se două numere naturale a și b, vrem să aflăm CMMMC-ul (cel mai mic multiplu comun) al celor două numere.

Exemplu: Pentru a = 3, b = 7, cmmmc(a, b) = 2121 este cel mai mic număr care este simultan multiplu de 3 și de 7.

Explicarea algoritmului

Pentru două numere naturale, avem egalitatea cmmdc(a, b) * cmmmc(a, b) = a * b. De aici, putem să extragem faptul că cmmmc(a, b) = a * b / cmmdc(a, b).

Am abordat în alte articole CMMDC-ul a două numere.

Codul sursă în C++

Soluția aplică exact algoritmul descris mai devreme:

Obține medalia mult dorită. Devino As la olimpiadă.

Curs complet de olimpiadă, pregătit de olimpici de la Oxford și TU Delft.

#include <iostream>

using namespace std;

int main()
{
    //Declarare și citire
    int a, b;
    cin >> a >> b;

    //CMMDC-ul numerelor a și b
    int cmmdcNr;
    int copiea = a, copieb = b;
    while(copieb) {
        int aux = copiea % copieb;
        copiea = copieb;
        copieb = aux;
    }
    cmmdcNr = copiea;

    //Calcularea CMMMC-ului
    int cmmmcNr = a * b / cmmdcNr;
    cout << "cmmmc(" << a << ", " << b << ") = " << cmmmcNr;
    return 0;
}

Obține medalia mult dorită. Devino As la olimpiadă.

Curs complet de olimpiadă, pregătit de olimpici de la Oxford și TU Delft.

Cuprinsul lecției

Se încarcă…

Citește și

Verificarea unui an bisect în C++Transformarea unei litere mici în literă mare în C++Sortare crescătoare recursivă în C++ - Merge sort și Bubble sortSuma 1 + 2 + 3 + ... + N în C++Transformarea unei litere mari în literă mică în C++Verifică dacă trei puncte sunt coliniare C++Verifică dacă o literă este vocală în C++Suma numerelor naturale dintr-un interval dat în C++Valoarea absolută (modulul) unui număr în C++Afișarea divizorilor primi ai unui număr în C++Recursivitate în C++Numărul de divizori al unui număr în C++CMMMC a două numere în C++ (cel mai mic multiplu comun)Verifică dacă un bit de pe o anumită poziție este 1 sau 0 în C++Copiuțe: Cifrele unui numărAfișarea elementelor unui vector recursiv în C++Mediana unui șir de valori în C++Cifra de control a unui numărCăutare binară în C++Cel mai puțin semnificativ bit în C++Instrucțiunea while (structuri repetitive)Numărul aranjamentelor în C++ (formula aranjamentelor)Suma divizorilor numerelor de la 1 la N (Folosind ciurul lui Eratostene)Citește un șir de caractere cu spații în C++Radicalul unui număr în C++ (rădăcina pătrată)Verificare dacă un număr este palindrom în C++Indicatorul lui Euler al numerelor de la 1 la N (Folosind ciurul lui Eratostene)Transformarea unui număr din baza 2 în baza 10 în C++Instrucțiunea do while (structuri repetitive)Distanța dintre două puncte în C++Vectorii în C++: declarare și parcurgereDivide et Impera (metodă de programare C++)Numărul de divizori primi ai unui număr în C++Tutorial instalare CodeBlocks (ușor) - Introducere în informatică C++Vectori de frecvență (de apariții) în C++Aria și circumferința unui cerc în C++Verifică dacă un număr aparține șirului Fibonacci în C++Rădăcina cubică a unui număr în C++ (cube root)Aplicații cu ciurul lui Eratostene în C++: suma divizorilor, numărul divizorilorCMMDC recursiv a două numere naturale în C++Maximul și minimul unui vector în C++Maximul și minimul a n valori în C++Verificare număr prim în C++ (Clasa a IX-a)Ce este o funcție void în C++?Prima cifră a unui număr în C++Verificare dacă șir de caractere este palindrom în C++Inversarea unui șir de caractere în C++Verifică dacă un număr dat este o putere de 2 în C++Citirea și afișarea matricelor în C++Ce înseamnă endl în C++?Cifra maximă și minimă a unui număr în C++Cel mai frecvent element dintr-un șir în C++Calculul combinărilor de n luate câte k (nCk) în C++Verifică dacă un caracter este cifră în C++Algoritm recursiv pentru căutare binară (clasa a X-a)Verifică dacă o literă este mică sau mare în C++Do while vs while în C++ - Care e diferența?Al N-lea termen dintr-o progresie geometricăNumărul de divizori al numerelor de la 1 la N (Folosind ciurul lui Eratostene)Cel mai mic/mare divizor prim al numerelor de la 1 la N (Folosind ciurul lui Eratostene)Funcții în C++. Ce sunt subprogrameleInterschimbarea a două variabile în C++ (3 metode)Suma divizorilor unui număr în C++Numărul de apariții al unui număr într-un vector în C++Bordarea unei matrice în C++Tipul struct în C++. Ce sunt structurile de date neomogeneCifra maximă a unui număr recursiv în C++Structuri repetitive (while, do while, for, etc)Aflarea sumei primelor N sume GaussCodul ASCII (tabel complet)Cel mai semnificativ bit în C++Instrucțiunea break (structuri repetitive)Combinatorică în C++: permutări, aranjamente, combinări și alteleCiurul lui Eratostene în C++Află secolul unui an citit de la tastatură în C++Cum să citești și să afișezi în fișiere în C++Ridicarea la putere în timp logaritmic în C++. Exponențiere rapidăPointer în C++. Variabile de tipul char * (char steluță)Al N-lea termen Fibonacci în C++Numere triunghiulare. Verificarea unui număr triunghiularOglinditul recursiv al unui număr în C++Oglinditul unui număr în C++Matrice în C++. Declararea și parcurgerea tablourilor bidimensionaleCea mai lungă secvență de elemente crescătoare în C++Al N-lea termen dintr-o progresie aritmeticăTransformarea unui număr din baza 10 în baza 2 în C++Generarea șirului Fibonacci generalizat în C++Câte numere naturale sunt într-un interval dat? (C++)Vectorii în C++: citire și afișareInstrucțiunea for (structuri repetitive)Cum să afișezi partea întreagă a unui număr real în C++Cifrele unui număr. Prelucrarea cifrelor unui număr în C++Maximul și minimul a trei valori în C++Inversarea unui vector în C++Instrucțiunea continue (structuri repetitive)Instrucțiunea de decizie în C++: if, else, switch, caseVerifică dacă un caracter este literă în C++Indicatorul lui Euler în C++Maximul și minimul a două valori în C++De ce cer unele probleme răspunsul modulo 666013 sau modulo 1.000.000.007?Ce înseamnă variabilă globală și locală în C++?Șirul lui Fibonacci în C++Numărul combinărilor în C++ (formula combinărilor)Funcții predefinite în C++ (matematice, șiruri de caractere)Matrice pătratice în C++. Diagonala principală și secundarăCel mai mic număr cu suma cifrelor N în C++Numărul minim de peroane pentru o gară în C++Operații cu numere mari în C++ - Toate funcțiile explicateNumărul de cifre ale factorialului unui numărMateria pentru olimpiada de informatică - tot ce trebuie să știiȘiruri de caractere în C++. Tot ce trebuie să știiVerifică dacă un număr este par sau impar fără modulo în C++Cum să calculezi instant 2 la puterea N în C++Aria unui triunghi folosind coordonatele acestora în C++Cel mai mare divizor comun (CMMDC) a două numere în C++Ce este o variabilă unsigned în C++?Factorialul unui număr în C++Tipuri de date în C++: numere întregi, reale, caractere și alteleMatrice Fibonacci - al n-lea termen Fibonacci în timp logaritmicSuma elementelor unui vector recursiv în C++Comentarii în C++Interclasarea a doi vectori în C++Numărul permutărilor în C++ (formula permutărilor)Complexitatea unui algoritm (timp și spațiu) în C++

© Drepturi de autor

Echipa InfoAs își rezervă drepturile de autor pentru conținutul acestei pagini. Copierea conținutului fără acordul scris expres al InfoAs reprezintă o încălcare a Legii 8/1996 și va fi tratată ca atare.

Trimite lecția

Toată lecția

Doar videoclipul pe YouTube

Informatica devine ușoară cu InfoAs

Intră în cont