Informatică, întrebare adresată de masinutaverde, 8 ani în urmă

Problema de pe pbinfo: Un număr natural este pseudoperfect dacă este divizor al sumei divizorilor săi.
Cerinţa
Să se scrie un program care verifică dacă un număr natural citit de la tastatură este pseudoperfect.

Răspunsuri la întrebare

Răspuns de euu12345678
2

Răspuns:

#include<bits/stdc++.h>

using namespace std;

int main ()

{int n,d;

long long int S=0;

cin>>n;

for(d=1;d*d<n;d++)

{ if(n%d==0)

S=S+d+n/d;

}

if(d*d==n)

S=S+d;

if(S%n==0)

cout<<"DA";

else

cout<<"NU";

return 0;

}


rolandcucicea: sa adaugi biblioteca
masinutaverde: a dat 100 puncte
rolandcucicea: ai inteles rezolvarea?
masinutaverde: nu prea
rolandcucicea: cauta divizorii numarului in intervalul [2, jumatatea numarului], cand gaseste, se aduna numarul gasit intr- o variabila "suma". Dupa ce verifica toate numerele din interval, verifica daca suma este divizibila cu numarul citit de la tastatura. Incearca sa rezolvi codul pe foaie
rolandcucicea: (nu cauta in [jumatatea numarului, numar] ptr ca orice numar mai mare decat jumatatea sa nu mai e divizibil)
rolandcucicea: cu numarul ala
rolandcucicea: gen 8 are divizori pana la 4, deja 5,6,7 nu se impart exact
rolandcucicea: sa imi zici daca mai ai ceva neclar ca e ft important sa intelegi codurile
masinutaverde: ok,Multumesc foarte mult!!Chiar am inteles..
Alte întrebări interesante