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

Se citeste un număr natural, cu cel mult 9 cifre, introdus de la tastatură. a.Să se afiseze pe ecran suma tuturor divizorilor săi. b.Să se verifice dacă este perfect, tipărindu-se un mesaj corespunzător pe ecran. Observatie. Un număr natural este perfect dacă este egal cu suma divizorilor săi, mai putin numărul însusi. Exemplu: 6 este perfect deoarece 6=1+2+3. //suma divizorilor unui numar #include<iostream> using namespace std; int main () { int n,k,s=0; cout<<"n="; cin>>n; for (k=1; k<=n/2; k++) if (n%k==0) s=s+k; cout<<"s="<<s<<endl; if (s==n) cout<<"este perfect"; else cout<<"nu este perfect"; return 0; }. ​


MariusCelTrifan: Prin a citi de la tastatură:
MariusCelTrifan: Înseamnă că trebuie să ai instructiunea ''cin>>", care, când îți apare pe ecran dreptunghiul ăla negru, te pune să scrii o valoare, de exemplu n de la problema mea de jos
vasileeeeee71q: te rog sa explici problema rezolvata
vasileeeeee71q: adică se citește...
vasileeeeee71q: Salut îmi explici problema te rog
vasileeeeee71q: îți dau cel mai bun răspuns
MariusCelTrifan: Pai spune-mi ce nu intelegi
vasileeeeee71q: pai vreau explicația programului rezolvat de tine, explicat informatic
MariusCelTrifan: Pai am declarat un numar n si am parcurs toate numerele pana la n pentru a afla divizorii. Daca unele numere sunt divizori ai lui n, ii adunam unei sume, astfel vedem la final daca suma este egala cu numarul initial. Daca da, scriem acest fapt folosind instructiunea cout, altfel scriem contrariul .
vasileeeeee71q: ok

Răspunsuri la întrebare

Răspuns de MariusCelTrifan
0

Răspuns:

#include <iostream>

using namespace std;

int main()

{

   int n,i,S=0;

   cout<<"n=";

   cin>>n;

   for(i=1;i<=n/2;i++)

       if(n%i==0)

       S=S+i;

       cout<<"S="<<S<<endl;

       if(S==n)

           cout<<"este nr perfect";

       else cout<<"nu este nr perfect";

       return 0;

}

Explicație:


vasileeeeee71q: îți mulțumesc din suflet dar poți și sa îl explici te rog adică cu "se citește de la tastatura...."
Alte întrebări interesante