Informatică, întrebare adresată de workjon405, 9 ani în urmă

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 heyface21p9uxfr
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

workjon405: thx <3
Alte întrebări interesante