Int i,u,n,s,p,x;
cout<<"n= ";cin>>n;
for(i=1;i<=n;i++)
{ p=1;
s=0;
x=i;
while(x!=0)
{
u=x%10;
while(u != 1)
{p=p*u;
u--;}
x=x/10; }
s=s+p;
if(i==s)
cout<<i<<" ";}

Ce este gresit ? Mentionez ca programul functioneaza dar nu conform cerintei :" sa se afiseze numerele de la 1 la n care sunt elage cu suma factorialelor cifrelor lor. ex: 145=1!+4!+5!

1

Răspunsuri

2014-01-19T20:48:50+02:00
S=s+p trebuie pus la finalul lui while( x!=0)   ( ma refer in interior , nu dupa acolada )