السلام عليكم
اريد ان اوجد مجموع اعداد البيرفكت من 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;
}
}
السلام عليكم
اريد ان اوجد مجموع اعداد البيرفكت من 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
#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;
}