Program sa opcijama za provjeru da li je uneseni broj “savršen” te ispis savršenih brojeva u zadanom intervalu.
ps. broj je savršen ako je jednak zbiru svih svojih djeljitelja osim samog sebe…npr 6=1+2+3 (6 je savrsen broj).
#include <iostream> using namespace std; bool DaLiJeSavrsenBroj(int broj) { int i = 1, suma = 0; while (i < broj) { // provjera da li je i djeljitelj od broja if (broj % i == 0) // suma= zbir djeljitelja broja suma += i; i++; } if (suma == broj) return true; else return false; } void SavrseniBrojevi(int donja, int gornja) { cout << "Savrseni brojevi u unesenom intervalu su: " << endl; for (int i = donja; i <= gornja; i++) { if (DaLiJeSavrsenBroj(i)) cout << i << endl; } } int main() { int n, donja, gornja; char p = 'a'; do { cout << endl; cout << "Dobrodosli!" << endl; cout << "Odaberite opciju: " << endl; cout << "1.Provjeri da li je broj Savrsen." << endl; cout << "2.Ispisi sve savrsene brojeve u intervalu" << endl; cout << "0 za izlaz" << endl; cout<<endl; cin >> p; switch (p) { case '1': cout << "Unesite broj: " << endl; cin >> n; if (DaLiJeSavrsenBroj(n)) cout << n << " je savrsen broj!" << endl; else cout << n << " nije savrsen broj!" << endl; break; case '2': cout << "Unesite donju granicu: " << endl; cin >> donja; cout << "Unesite gornju granicu: " << endl; cin >> gornja; cout << endl; SavrseniBrojevi(donja, gornja); break; default: cout << "Opcije su 0,1,2!" << endl; } } while (p != '0'); system("pause"); return 0; }
Perfect piece of work you have done, this internet site
is really cool with fantastic information.