PDA

View Full Version : سوال: برنامه‌ای برای نمایش اعداد کامل



DumanNazeri
دوشنبه 30 اردیبهشت 1392, 10:29 صبح
سلام. وقت بخیر. ببخشید که من خیلی مزاحم‌تون می‌شم.
سوالی که داشتم اینه که..
من برنامه‌ای نوشتم که عدد رو از ورودی می‌گیره و می‌گه که این عدد کامل هست یا نه؟!


#include <iostream>
using namespace std;

int main ()
{
int a, sum = 0, index = 0, divisors[30];

cout <<"Please Enter a Number" <<endl;
cin >> a;

for ( int i = 1 ; i < a ; i++ )
{
if ( a%i == 0 )
{
divisors[index] = i;
index++;
}
}

for ( int i = 0 ; i < index ; i++ )
sum += divisors[i];
if ( a == sum )
cout << a <<" is Perfect Number!!\n";
else
cout << a <<" Not Perfect Number!!\n";

return 0;
}

می‌خوام این برنامه رو طوری تغییر بدم که عدد رو از کاربر نگیره٬ و خود برنامه اعداد کامل مثلن کوچکتر از ۱۰۰ رو در خروجی نمایش بده!
ممنون می‌شم اگر راهنمایی‌م کنید.

omidshaman
دوشنبه 30 اردیبهشت 1392, 10:44 صبح
یک for بزار اول برنامه!

DumanNazeri
دوشنبه 30 اردیبهشت 1392, 10:54 صبح
یک for بزار اول برنامه!
این رو می‌دونم که نیاز به یه حلقه‌ی for داره٬ اما خب جواب نمی‌ده..
می‌شه بیشتر توضیح بدید؟‌ لطفن.
ممنون.

omidshaman
دوشنبه 30 اردیبهشت 1392, 10:57 صبح
#include <iostream>
using namespace std;
int main ()
{
int a, sum,index , divisors[3000];

for(int i=0;i<100;i++)
{
a=i;
sum=0;
index=0;
for ( int i = 1 ; i < (a/2+1) ; i++ )
{
if ( a%i == 0 )
{
divisors[index] = i;
index++;
}
}
for ( int i = 0 ; i < index ; i++ )
sum += divisors[i];
if ( a == sum )
cout << a <<" is Perfect Number!!\n";
else
cout << a <<" is Not Perfect Number!!\n";

}
return 0;
}