Sunteți pe pagina 1din 2

ALGORITMI ELEMENTARI

2.ALGORITM PENTRU PRELUCRAREA DIVIZORILOR UNUI NUMAR NATURAL n

TEORIE

Un numar n poate avea divizori proprii si improprii.


Divizorii improprii ai unui numar sunt 1 si numarul insusi.
Divizorii proprii sunt restul numerelor care divid pe n, cuprinse intre
[2, n/2].

Prin urmare pentru a afla divizorii proprii ai lui n, vom parcurge valorile din intervalul
[2, n/2] si pentru fiecare valoare din interval vom verifica daca este divizibila cu n (adica
n se imparte exact la acea valoare , adica n%valoare sa fie 0)

Algoritmul in limbaj pseudocod

<prelucreaza divizorul 1 si n>


pentru i2,n/2 executa
daca n%i==0 atunci
<prelucreaza divizorul i>

Obs : Algoritmul poate sa sufere mici modificari


 depinde ordinea de prelucrare a divizorilor(crescator sau descrescator);
 depinde daca se cer prelucrati toti divizori sau doar ce proprii

Fisa de lucru -Prelucrarea divizorilor unui numar

Se citeste de la tastatura un numar natural n , nenul . Scrieti cate un program C++ pentru fiecare dintre
urmatoarele cerinte:
1)Afisati pe ecran toti divizori naturali ai lui n . Ex. Daca n=6 programul va afisa : divizori naturali sunt : 1 2 3 6
2)Determinati suma divizorilor naturali ai lui n Ex. Daca n=6 programul va afisa : suma divizorilor=12
3)Determinati produsul divizorilor naturali ai lui n Ex. Daca n=6 programul va afisa : produsul divizorilor=36
4)Sa se determina cati divizori are n Ex. Daca n=6 programul va afisa : numarul 6 are 4 divizori
5)Sa se verifice daca numarul n este prim( stiind ca un numar este prim daca are exact doi divizori)
Ex. Daca n=6 programul va afisa :numarul 6 nu este prim
Ex. Daca n=7 programul va afisa : numarul 7 este prim
6)Sa se verifice daca numarul n este perfect( stiind ca un numar este perfect daca este egal cu suma
divizorilor sai fara el insusi)
Ex. Daca n=6 programul va afisa :numarul 6 este perfect //( 1+2+3=6)
Ex. Daca n=7 programul va afisa : numarul 7 nu este perfect

7) Se citește de la tastură un număr natural nenul n<10000. Să se afișeze pe ecran cel mai mic și cel mai mare
divizor propriu al sau . Dacă nu există se va afișa numărul inițial. Ex: pentru n=45 se va afisa 3 15.
8) Se citește de la tastură un număr natural nenul n de cel mult 4 cifre. Să se verifice dacă suma divizorilor lui
n este un număr prim. Dacă da, se va afişa suma divizorilor săi, altfel se va scrie numărul acestora. Ex:
pentru n=30 se va afisa (1+2+3+5+6+10+15+30=72 nu e prim deci se va afisa 8, numarul divizorilor
9)Se citeşte de la tastatură un număr natural n. Să se calculeze şi să se afişeze media
aritmetică a tuturor divizorilor săi. Media va fi cu fix 2 zecimale dupa virgula.
10)Se se citește un număr natural n. Să se determine cel mai mic număr prim, strict mai mare
decât n.
11)Se citesc două numere naturale a și b (a<b) având cel mult 9 cifre fiecare. Afișați câte
numere din intervalul [a,b] au exact 3 divizori
12)Un număr este supraperfect dacă este mai mic decât suma divizorilor lui pozitivi,
exceptându-l pe el însuşi, de exemplu:12<1+2+3+4+6.Scrie ți un algoritm care verific ă dac ă un
număr n citit este supraperfect.
13). Să se determine cel mai mare număr prim de 3 cifre.
14) Să se determine cel mai mic număr prim de 3 cifre
15) Pentru un numar n sa se afiseze ultimii p divizorii proprii ai lui(diferiti de 1 si de el insusi).
Daca numarul n are mai putin de p divizori se vor afisa toti.
Exemplu: Pentru n=24 si p=2 se va afisa 8 12
16) Se citește un număr natural n. Să se determine numărul de divizori ai oglinditului lui n.

17)Se dau două numere naturale. Să se afle dacă aceste numere sunt prietene. Numerele
prietene sunt perechile de numere în care fiecare număr în parte este suma tuturor divizorilor
celuilalt număr, mai puțin acesta. Primele seturi de numere prietene sunt (220, 284), (1184, 1210), (2620, 2924),
(5020, 5564), (6232, 6368). Se spune că Pitagora la întrebarea cine este Prietenul? a răspuns: „Acela care este alt eu, ca
numerele 220 și 284

18)Să se determine câte cifre care reprezintă numere prime are un număr X citit de la tastatura
19) Să se scrie un program care verifică dacă un număr natural citit de la tastatur ă este număr
pseudoperfect. Un număr natural este pseudoperfect dacă este divizor al sumei divizorilor s ăi
20)Se citeşte un număr natural n cu cel mult 9 cifre de la tastatură. Să se verifice dacă n este număr puternic.
Un număr este puternic dacă are mai mulţi divizori decât orice număr mai mic decât el. Exemplu. pentru
n=12 se afişează număr puternic.

21) Să se afişeze cel mai mare număr prim, mai mic decât un număr dat n (exemplu: dacă n=10,
numărul va fi 7)
22) Să se afişeze cel mai mic număr prim, mai mare decât un număr dat n (exemplu: dacă n=10,
numărul va fi 11)

S-ar putea să vă placă și