Scrieţi definiţia completă a subprogramului sdiv care primeşte prin intermediul
parametrului y un număr natural cu cel mult 6 cifre şi returnează suma tuturor divizorilor
numărului y. (5p.)
b) Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n (n<10000) şi
care, folosind apeluri ale subprogramului sdiv verifică dacă suma divizorilor lui n este un
număr prim. În caz afirmativ, programul va afişa pe ecran mesajul Da şi în caz contrar va
afişa mesajul NU.
Exemplu: dacă n=206, atunci programul va afişa: NU (1+2+103+206=312, iar 312 nu
este un număr prim).
Răspunsuri la întrebare
Răspuns de
1
#include <iostream>
usingnamespace std.;
int sdiv (int y) {
int i;
int s = y; // ca sa nu uitam ca orice numar se divide pe el insusi
for (i=1; i <= y/2; i++){
if (y%i == 0) s += i;
}
return s;
}
int n, suma_div;
int main(){
cin>>n;
suma_div = sdiv(n);
if (sdiv(suma_div) == suma_div + 1) cout<<"DA";
else coud<<"NU";
return 0;
}
:D
usingnamespace std.;
int sdiv (int y) {
int i;
int s = y; // ca sa nu uitam ca orice numar se divide pe el insusi
for (i=1; i <= y/2; i++){
if (y%i == 0) s += i;
}
return s;
}
int n, suma_div;
int main(){
cin>>n;
suma_div = sdiv(n);
if (sdiv(suma_div) == suma_div + 1) cout<<"DA";
else coud<<"NU";
return 0;
}
:D
workjon405:
thx <3
Alte întrebări interesante
Fizică,
8 ani în urmă
Fizică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă