السلام عليكــم ورحمـة الله وبركاتــه ،،
هذه أول مشاركة لي في هذا المنتدى، أرجو أن أجد سعة الرحب منكم :)
أنا طالب بفرنسا قسم البرمجة وعندي مشكلة مع تمرين يجب أن أقدمه يوم غد:
التمرين يقول:
أي رقمين يكون صديقان إذا كان مجموع قواسم كل واحد منهما يساوي الآخر
مثل :
284 = 1 + 2 + 4 + 5 + 10 + 11 +20 + 22 + 44 + 55 + 110
وهي قواسم 220
و
220 = 1 + 2 + 4 + 71 + 142
التي هي قواسم 284
السؤال:
أكتب برنامج يظهر جميع الأرقام الصديقها لبعضها بين 1 و 400
كانت محاولتي كالتالي:
#include <stdio.h>
#include <math.h>
int main (void)
{
int n1=1;
int n2=1;
int d1=1;
int d2=1;
int s1=0;
int s2=0;
while (n1<=400) {
n1=n1+1;
for(d1=1;d1<n1;d1++)
if(n1%d1==0) s1=s1+d1;
}
while (n2<=400){
n2=n2+1;
for(d2=1;d2<n2;d2++)
if(n2%d2==0) s2=s2+d2;
}
if (n1==s2 && n2==s1)
printf("les nombres amis entre 1 et 400 sont %d et %d, ",n1,n2);
return 0;
}لكن بدون جدوى، يا ريت توضحوا لي الخطأ أين هو وكيف يمكن تصليحه.
تحياتي للجميع :)