تبلیغات

قطعه کد تشخیص وجود داشتن یک عدد در یک عدد دیگر در C++

عدد X را تصور کنید که از چند رقتم تشکیل یافته است؛ حال قصد داریم بفهمیم که آیا این عدد برای مثال شامل عدد y می‌شود یا خیر. برای مثال، اگر x برابر 1456740 باشد، این عدد، دارای اعداد 1، 4، 5، 6، 7 و 0 می‌باشد؛ همچنین این عدد، اعداد 14، 45 و … ر نیز دارد!

قطعه کد

کد زیر را در نظر بگیرید:

#include 

using namespace std;

bool containsDigit(int number, int digit)
{
    if (number == digit) return true;
    while (number != 0)
    {
        int curr_digit = number % 10;
        if (curr_digit == digit) return true;
        number /= 10;
    }

    return false;
}

int main()
{
    if (containsDigit(125014, 0)) {
        cout << "125014 contains 0\n";
    }
    return 0;
}

تصور کنید می‌خواهیم تشخیص دهیم رقم 1 در عدد 100 وجود دارد یا خیر؛ بدین منظور، دهگان به دهگان عدد را حذف می‌کنیم؛ با تقسیم 100 به عدد 10، باقی‌مانده صفر شده و نتیجه تقسیم نیز 10 می‌شود؛ سپس اگر 10 را نیز به 10 تقسیم کنیم،  باقی ماننده مجدد صفر شده و نتیجه تقسیم نیز 1 می‌شود؛ با تقسیم مجدد 1 به 10، باقی مانده همان 1 خواهد بود. بنابراین هربار باقی مانده را بررسی می‌کنیم که برابر آن رقم مورد نظر هست یا خیر و در غیر این صورت، یک تقسیم می‌کنیم تا یک دهگان از عدد حذف شده و به عدد پایین تر برویم.


الگوریتم تعداد ارقام یک عدد به روش ریاضی

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

هادی اکبرزاده

[ مدیر فول کده ]

علاقه‌مند به اشتراک‌گذاری اطلاعات در هر زمینه‌ای که امکانش باشه 🙃

پاسخ دهید

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

نظرات ثبت شده بدون دیدگاه

توضیحات پیشنهادی نظرات اشتراک