الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مساعدة

بدأه صمت الحروف في 21 أبريل 2011 · 1 رد · 281 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

اريد ان اوجد مجموع اعداد البيرفكت من 1 الي 1000 وهذه محاولتي ولكنني لا اعرف اين المشكلة ارجوا المساعدة

#include<iostream.h>

void main()

{

int s=0;

for(int i=1;i<=1000;i++)

{

for(int j=1;j<i;j++)

if(i%j==0)

s+=j;

}

if(s==i)

cout<<s;

}

}

تم تعديل هذه المشاركة بواسطة صمت الحروف في 21 أبريل 2011 في 13:50

#2
#include<iostream>
#include<cstdlib>
using namespace std;

bool IsPerfect(int num)
{
	int sum=0;



	for(int i=1;i<=num/2;i++)
	{
		if(num%i==0)
		{
			sum+=i;
		}
	}

	if(sum==num)
		return true;
	else
		return false;
}
int main ()
{
	for(int i=1;i<=1000;i++)
	if(IsPerfect(i))
		cout<<i<<endl;

	system("pause");
	return 0;
}

مواضيع مشابهة