آموزش ++c, زبان c++

برنامه عدد آرمسترانگ در سی پلاس پلاس

برنامه عدد آرمسترانگ در سی پلاس پلاس

در این جلسه تیم کدگیت را با آموزش برنامه عدد آرمسترانگ در سی پلاس پلاس همراهی کنید. پیش نیاز این آموزش شامل موارد زیر است:

  1. آشنایی با for
  2. آشنایی با if

عدد آرمسترانگ

عدد آرمسترانگ به عددی گفته میشود که حاصل جمع مکعب اعداد تشکیل دهنده آن برابر با خود عدد باشد(کمی پیچیده شد!!!). برای درک بهتر مسئله به مثال زیر توجه کنید:

153 = (1*1*1)+(5*5*5)+(3*3*3)
(1*1*1)=1
(5*5*5)=125
(3*3*3)=27
1+125+27=153

مثال ما برای عدد 153 زده شده است. این عدد شامل سه رقم تشکیل دهنده است یعنی 1 و 5 و 3 . حال با توجه به اینکه ما این ارقام را داریم مکعب هر یک را محاسبه میکنیم سپس اعداد به دست آمده را به هم جمع میکنیم!!

برنامه عدد آرمسترانگ در سی پلاس پلاس

همانطور که گفته شد عدد آرمسترانگ به عددی گفته میشود که حاصل جمع مکعب اعداد تشکیل دهنده آن برابر با خود عدد باشد. برای نوشتن برنامه عدد آرمسترانگ در سی پلاس پلاس چند نکته را باید توجه کرد:

  1. عددی به ما داده میشود برای بررسی آرمسترانگ بودن یا نبودن. فرض کنید عدد ورودی مسئله 153 است.
  2. ما ارقام تشکیل دهنده عدد 153 را باید بدست آوریم.
  3. مکعب ارقام تشکیل دهنده را محاسبه و با هم جمع کنیم.

پیاده سازی برنامه عدد آرمسترانگ در سی پلاس پلاس

حال نوبت به پیاده سازی عدد آرمسترانگ در سی پلاس پلاس رسیده است. برای پیاده سازی ما از این روش استفاده میکنیم که باقیمانده عددی که میخواهیم آرمسترانگ بودنش بررسی کنیم را بر 10 محاسبه کرده تا ارقام تشکیل دهنده آن را بدست بیاوریم. سپس مکعب آن عدد را محاسبه و تا زمانی که حاصل تقسیم ما بر 10 برابر با صفر نباشد ادامه میدهیم. کد برنامه عدد آرمسترانگ در سی پلاس پلاس به صورت زیر است:

int main() {

    int sum = 0, a, temp;
    int n = 153; // It is the number to check armstrong
    temp = n;
    while (n > 0) {
        a = n % 10;
        n = n / 10;
        sum = sum + (a * a * a);
    }
    if (temp == sum)
        cout << temp <<" is armstrong number" << endl;
    else
        cout << temp << ": Not armstrong number" << endl;
    return 0;
}

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *