خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

چگونه یک عدد آرمسترانگ را پیدا کنیم

الگوریتم اعداد آرمسترانگ ساده است، اما می توانید از آن برای بسیاری از کارهای ریاضی دیگر استفاده کنید.

شماره آرمسترانگ یک مفهوم کلیدی در زمینه رمزگذاری و رمزگشایی برای امنیت داده ها است.

مفهوم کلی پردازش ارقام یک عدد یک تکنیک اساسی است. شما می توانید بسیاری از کارها را با این روش حل کنید، مانند جمع کردن ارقام، بدست آوردن حاصل ضرب ارقام، شمارش ارقام و معکوس کردن یک عدد.

اما عدد آرمسترانگ چیست و چگونه می توان آن را آزمایش کرد؟

عدد آرمسترانگ چیست؟

عدد آرمسترانگ عددی است که مجموع مکعب های ارقام آن با خود عدد برابر است. به عنوان مثال، 153 یک عدد آرمسترانگ است. اگر ارقام 153 را جداگانه بردارید و آنها را مکعب کنید:

(1 × 1 × 1) + (5 × 5 × 5) + (3 × 3 × 3)

سپس نتایج را اضافه کنید:

1 + 125 + 27

شما 153 دریافت خواهید کرد، همان عدد اصلی.

الگوریتمی برای یافتن عدد آرمسترانگ

نوشتن یک الگوریتم اولین قدم برای اجرای هر برنامه ای است. می توانید از الگوریتم به عنوان مرجع برای نوشتن شبه کد استفاده کنید، سپس آن را با استفاده از زبان برنامه نویسی مورد نظر خود پیاده سازی کنید. یک الگوریتم مجموعه دقیقی از دستورالعمل ها را به شما می دهد که باید دنبال کنید، خطاهای منطقی را حذف کرده و پیاده سازی را ساده تر می کند.

در اینجا الگوریتمی برای یافتن اینکه آیا یک عدد آرمسترانگ است یا خیر، آمده است:

  1. متغیرهای sum, temp, n, r را اعلام کنید
  2. مقدار n را از کاربر بگیرید
  3. مقدار متغیر را به 0 مقداردهی کنید و از n به صورت temp = n نسخه پشتیبان بگیرید
  4. مراحل 5 تا 7 را در حالی که n> 0 تکرار کنید
  5. r = n % 10
  6. مجموع = مجموع + مکعب هر رقم (r × r × r)
  7. n = n / 10
  8. اگر مجموع برابر با دما باشد، “عدد یک عدد آرمسترانگ است” را نمایش دهید.
  9. در غیر این صورت، “شماره یک عدد آرمسترانگ نیست” را نمایش دهید
مطلب مرتبط:   سرعت و دقت تایپ خود را با استفاده از پایتون آزمایش کنید

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

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

الگوریتمی برای تعیین اینکه آیا یک عدد صحیح یک عدد آرمسترانگ است یا خیر

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

شبه کد بالا را مشاهده کنید و هر عبارت را به کد C تبدیل کنید.

با وارد کردن stdio.h برای انجام عملیات ورودی و خروجی شروع کنید. تابع اصلی را اعلام کرده و اجرای منطق برنامه را شروع کنید. از n برای ذخیره عدد ورودی، r برای ذخیره ارقام مجزای عدد، sum برای ذخیره مجموع مکعب های ارقام و temp برای ذخیره یک کپی از عدد استفاده کنید.

از تابع printf برای درخواست از کاربر برای وارد کردن یک عدد استفاده کنید. از تابع scanf برای خواندن عدد و ذخیره آن در متغیر n استفاده کنید. %d مشخص کننده فرمت اعشاری برای گرفتن یک عدد صحیح به عنوان ورودی است.

با مقداردهی اولیه sum به صورت صفر، هر مقدار زباله را پاک کنید و یک نسخه پشتیبان از n به عنوان temp بگیرید.

#include <stdio.h>

int main()
{
    int n, r, sum, temp;
    printf("Please enter a number: ");
    scanf("%d", &n);
    sum = 0; temp = n;

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

  1. با گرفتن مدول عدد با 10، رقم مجزای عدد را بدست آورید. وقتی هر عددی را با 10 به طور کلی تقسیم می کنید، باقیمانده خود آخرین رقم است. به عنوان مثال، وقتی 153 را بر 10 تقسیم می کنید، عدد صحیح 15 ​​و مدول آن 3 می شود.
  2. هنگامی که رقم فردی را دارید می توانید عملیات مورد نظر خود را انجام دهید. برای یافتن یک عدد آرمسترانگ، عملیات مورد نظر حاصل جمع مکعب های ارقام عدد است. مکعب رقم r را بگیرید و به متغیر مجموع اضافه کنید.
  3. آخرین رقم عدد را با تقسیم بر 10 حذف کنید. در تقسیم بر 10، ضریب، در این مورد، 15 است.

    while (n > 0) {
        r = n % 10;
        sum = sum + (r * r * r);
        n = n / 10;
    }

بررسی کنید که آیا مجموع به دست آمده برابر با عدد اصلی است. اگر آنها مساوی باشند، عدد در واقع یک عدد آرمسترانگ است، در غیر این صورت، اینطور نیست.

    if (temp == sum)
        printf("Number is an Armstrong number\n");
    else
        printf("Number is not an Armstrong number\n");

    return 0;
}

سایر کاربردهای الگوریتم عمومی

با تغییر مرحله دو از منطق سه مرحله‌ای که در بالا مشاهده شد، می‌توانید برنامه‌های مختلفی را پیاده‌سازی کنید.

مطلب مرتبط:   نحوه خودکارسازی نظارت بر سیستم با استفاده از پایتون

1. جمع، حاصل ضرب ارقام عدد

برای بدست آوردن مجموع ارقام یک عدد کافی است خط را با عبارت زیر جایگزین کنید:

sum = sum + r;

برای محصول، متغیر prod را 1 اعلام کنید و جمع جمع را با نماد ضرب جایگزین کنید:

prod = prod * r;

2. تعداد ارقام عدد

برای شمارش ارقام یک عدد، کافی است تعداد متغیر را صفر کنید، مرحله یک را حذف کنید و آن را تا زمانی که n برابر با صفر شود، افزایش دهید. اجرای حلقه به صورت زیر خواهد بود:

while (n > 0) {
    count++;
    n = n / 10;
}

3. معکوس شماره، شماره پالیندروم

برای معکوس کردن یک عدد، یک متغیر rev را به یک مقداردهی اولیه کنید و پس از ضرب در ده آن را اضافه کنید:

rev = (rev * 10) + r;

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

4. کوچکترین و بزرگترین رقم یک عدد

یک متغیر min را به صورت 9 مقداردهی کنید و آن را با رقم استخراج شده از مرحله اول مقایسه کنید تا کوچکترین رقم یک عدد را پیدا کنید. می توانید آن را به صورت زیر پیاده سازی کنید:

if (r < min) {
    min = r;
}

به طور مشابه، یک متغیر max را با صفر مقداردهی اولیه کنید و آن را با رقم استخراج شده مقایسه کنید تا بزرگترین رقم یک عدد را بیابید. می توانید آن را به صورت زیر پیاده سازی کنید:

if (r > max) {
    max = r;
}

به این ترتیب می توانید بزرگترین و کوچکترین ارقام یک عدد را پیدا کنید.

مطلب مرتبط:   چگونه خطای IndentationError: انتظار یک بلوک فرورفته را در کد پایتون خود برطرف کنید

5. شماره های ویژه

اعداد بسیار دیگری مانند عدد آرمسترانگ وجود دارد که می توانید آنها را محاسبه کنید. اینها عبارتند از عدد نئون، عدد اتومورفیک، عدد کریشنامورتی، عدد Buzz، عدد کامل، عدد دوستانه و عدد اول دوقلو.

برنامه نویسی و ریاضیات

از ریاضیات در برنامه نویسی بسیار استفاده می شود. ریاضیات باینری هسته اصلی برنامه نویسی است زیرا تمام نرم افزارهایی که امروزه استفاده می کنید ترکیبی از ارقام صفر و یک است. تمام داده هایی که با آنها کار می کنید در قالب باینری ذخیره می شوند. جبر خطی در برنامه های کاربردی یادگیری ماشین، الگوریتم های نمودار، محاسبات کوانتومی و غیره استفاده می شود.

حساب دیفرانسیل و انتگرال، ریاضیات گسسته، و آمار به طور گسترده ای در حل مسئله و طراحی الگوریتم استفاده می شود. ریاضیات مهارت محاسباتی شما را افزایش می دهد و بخشی ضروری از برنامه نویسی است.