اذهب إلى المحتوى

السؤال

نشر

العدد المثالي هو عدد طبيعي يساوي مجموع قواسمه(باستثناء نفسه) بما فيها 1. على سبيل المثال ، 6 هو رقم مثالي لأن 6 = 1 + 2 + 3. اكتب دالة مثالية تحدد ما إذا كان الرقم المرسل إليها هو رقم مثالي. استخدم هذه الوظيفة في برنامج يحدد ويطبع جميع الأرقام المثالية بين 1 و 1000. اطبع عوامل كل رقم مثالي للتأكد من أن الرقم مثالي بالفعل. تحدى قوة جهاز الكمبيوتر الخاص بك عن طريق اختبار أرقام أكبر بكثير من 1000.

Recommended Posts

  • 0
نشر

حل السؤال بسيط، الارقام المثالية هي الارقام التي فيها مجموع مكوناتها يساوى الرقم ذاته. أي أن الرقم 6 عناصرة 2 ،3،1 ، لان 2*3 = 6 و 1*6 =6 واذا جمعنا 1+2+3 =6 لذلك هو رقم مثالي.

سنكتب برنامج يقوم بالمرور عبر كل رقم من 1 ل 1000 عن طريق حركة تكرارية، ويقوم باستخراج عناصره، ثم يجمعهم، اذا كان جمعهم يساوى الرقم نفسه يطبعه ثم يكمل لباقي الارقام.

فيما يلي الكود الذي يقوم بالتالي:

#include <stdio.h>

int main(){

    int sum;

    for(int number = 1;number <= 1000; number++){
        sum = 0;

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

        if (sum == number){
            printf("%d is perfect\n", number);
        }
    }

    return 0;
}

ناتج الكود سيكون التالي:

6 is perfect
28 is perfect
496 is perfect

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...