Se citește un număr natural n (n<10 la puterea 6 ). Scrie un program C++ care afișează toți divizorii săi naturali în ordine crescătoare. Exemplu Se citește: 12 Se afișează: 1 2 3 4 6 12
(daca se poate prin while si o metoda cat mai usor de inteles pt ca sunt incepatoare)
Răspunsuri la întrebare
Răspuns:
#include <iostream>
using std::cout;
using std::endl;
using std::cin;
int main() {
int numarulCitit;
// vom citi numărul căruia vrem să-i afișăm divizorii
cout << "Introdu numarul (de ex. 12) >> "; cin >> numarulCitit;
/* eu zic că e mai ușor de vizualizat cu un for, același lucru se poate face și cu un while, ideea e că pornim cu i de la 1, la fiecare iterație a for-ului vom verifica dacă numărul nostru se împarte la i (dacă restul împărțirii numărului la i este 0), dacă se împarte înseamnă că i este un divizor al numărului nostru
de ex restul împărțirii lui 12 la 1 este 0 deci 1 este divizor al lui 12, restul împărțirii lui 12 la 2 este 0 deci 2 este divizor al lui 12, restul împărțirii lui 12 la 5 nu este 0 deci 5 nu este un divizor al lui 12 ș.a.m.d.*/
for (int i = 1; i <= numarulCitit; ++i)
if (numarulCitit % i == 0)
cout << i << " ";
/*Mai jos ți-am pus și varianta cu while
int j = 1;
while (j <= numarulCitit) {
if (numarulCitit % j == 0)
cout << j << " ";
++j;
}*/
return 0;
}