PDA

View Full Version : سوال: C++‎‎ - تشخیص عدد کامل در سی پلاس پلاس



mohamad9874
چهارشنبه 20 اردیبهشت 1396, 17:33 عصر
سلام خسته نباشید.
یه تمرین هست 3 قسمت داره 2 قسمتو انجام دادم اما قسمت سوم رو موندم.
سوال اینه که مجموع مقسوم علیه های عدد ورودی رو بنویسه و میانگین بگیره. تا اینجاشو نوشتم . اما سوال سوم میگه تشخیص دهید عدد کامل است یا خیر.


int main()
{
int i, r, n, s = 0;
cout << "Enter Number : ";
cin >> n;
for (i = 1; i <= n; i++)
{

r = n % i;
if (r == 0)
{
s += i;
cout << i << '\t';
}
}
cout << "\n\nMajmoe Adad : " << s<<"\n";

_getch();
}

اگر بخوام تشخیص بده که عدد کامل هست یا باید تو حلقه for :
i کوچکتر از n باشه . که اگه اینکارو کنم سوال اول و دوم حل نمیشه. باید چیکار کنم ؟؟

(عدد کامل عددی است که مجموع مقسوم علیه های کوچکتر از عدد برابر خود عدد باش)

یعنی 6 میشه 1و2و3 که به غیر از خودش اگه اعداد رو جمع کنیم میشه 6 )

ممنون میشم کمک کنین

Ananas
شنبه 23 اردیبهشت 1396, 01:30 صبح
سلام.
میتونید با یک if محدودش کنید که اگر i == n نباشه اون قسمت رو انجام بده (ینی تمام i ها غیر از n) و یا میتونید یک حلقه ی جدا بذارید برای هر کدوم. لازم نیست همه ی معماهارو تو یک حلقه حل کنید.