Se citeşte un număr natural n. Să se scrie un algoritm care afișează toți divizorii numărului n.
Un număr natural d este divizor al lui n dacă și numai dacă n%d=0 (n se împarte exact la d sau, altfel spus, restul împărțirii lui n la d este egal cu 0).
Dacă n = 24, atunci algoritmul va afişa: 1 2 3 4 6 8 12 24.
Dacă n = 11, atunci algoritmul va afişa: 1 11.
Se va afișa “DA” și dacă a = 5 și b = 25.
Pasul 1: Citim numărul n.
Pasul 2: Parcurgem cu d toate valorile de la 1 la n (toți posibilii divizori).
Pentru fiecare d verificăm dacă n este divizibil cu d.
Dacă n este divizibil cu d, atunci d este divizor și îl afișăm.
Pasul 3: Algoritmul se termină după ce am găsit toți divizorii.
n,d întreg
citeşte n
pentru d ← 1, n execută
| dacă (n % d = 0) atunci
| | scrie d
| |▄
|▄
/*********************************************************
divizorii unui numar
***********************************************************/
#include <iostream>
using namespace std;
int main() {
int n, d;
cout << "Introduceti un numar: ";
cin >> n;
for (d = 1; d <= n; d++) {
if (n % d == 0) {
cout << d << " "; // d este un divizor
}
}
cout << endl;
return 0;
}
Observație
Acest algoritm este simplu, dar poate fi ineficient pentru numere foarte mari, deoarece parcurge fiecare posibil divizor de la 1 până la n.