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

problema este atasata!
ps:vreau sa fie explicata și sa funcționeze în codeblocks!​

Anexe:

Răspunsuri la întrebare

Răspuns de anonim21212
0

Răspuns:

La punctul a):

unsigned sum(unsigned long x)

{

   unsigned s=0,d;

   if(x==1)

       return 1;

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

   {

       if(x%d==0)

           s+=d+x/d;

   }

   return s;

}

Explicație:

La b):

#include <iostream>

using namespace std;

unsigned sum(unsigned long x)

{

   unsigned s=0,d;

   if(x==1)

       return 1;

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

   {

       if(x%d==0)

           s+=d+x/d;

   }

   return s;

}

int main()

{

   unsigned n,i,nrprime=0;

   cin>>n;

   unsigned v[n];

   for(i=0;i<n;i++)

   {

       cin>>v[i];

       if(sum(v[i])==v[i]+1)

           nrprime++;

   }

   cout<<nrprime;

   return 0;

}


anonim21212: daca ii dai copy-paste nu va functiona
anonim21212: scrie l manual
lascoala45: manual l am scris
lascoala45: dacă introduc numere nu îmi calculează nimic
anonim21212: Mie imi da bine.Vezi poate ai uitat ceva.
anonim21212: Ai incercat la a) sau b)?
lascoala45: la b
anonim21212: La b) imi da bine.Am verificat o data ieri si azi din nou si da bine.
lascoala45: buna ziua ma puteti ajuta la o problema la informatica
lascoala45: o pun ca intrebare acum daca puteti sa o rezolvati.multumesc!
Alte întrebări interesante