Scrieţi un program Pascal/C/C++ pentru rezolvarea următoarei probleme:
Se citeşte de la tastatură, un număr natural n şi cele n elementele ale unui vector X care memorează numere naturale. Să se afişeze numerele perfecte din vector. Dacă nu există numere perfecte, se va afişa mesajul NU EXISTA. (Un număr este perfect dacă este egal cu suma divizorilor săi mai puţin el însuşi)
rezolvarea mea:
#include
using namespace std;
int x[100], d, el, n, i, s;
int main()
{
cin>>n;
for(i=1;i<=n;i++){
cin>>x[i];
}
for(i=1;i<=n;i++){
el=x[i];
for(d=1;d<=el/2;i++){
s=0;
if(el%d==0)
s+=d;
}
if(s==el)
cout< }
return 0;
}
ce este gresit?
j234mediplant:
cout<
Răspunsuri la întrebare
Răspuns de
0
Explicație:
#include <stdio.h>
int main()
{
int n,c=0;
scanf("%d",&n);
int x[n];
for(int i=1;i<=n;i++)
{
scanf("%d",&x[i]);
int S=1;
for(int j=2;j*j<=x[i];j++)
{
if(x[i]%j==0)
{
S=S+j+x[i]/j;
}
}
if(S==x[i] && x[i]!=1)
{
printf("%d ",x[i]);
c++;
}
}
if(c==0) printf("NU EXISTA");
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Chimie,
8 ani în urmă
Limba română,
8 ani în urmă
Engleza,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă