پاسخ سوال مسابقه‌ی آسان + کوئرا

پاسخ سوال مسابقه‌ی آسان + کوئرا
پاسخ سوال مسابقه‌ی آسان + کوئرا

پاسخ سوال مسابقه‌ی آسان + کوئرا

در این نوشته تمرین “مسابقه‌ی آسان” که در وبسایت کوئرا موجود می باشد را برای شما کاربران عزیز حل کرده ایم.

 

در مورد سایت کوئرا بیشتر بخوانید…

 

تمرین مسابقه‌ی آسان + سی پلاس پلاس

سجاد در یک مسابقه‌ شرکت کرده است. مسابقه به این صورت است که هر کس یک رقم (از ۰ تا ۹) انتخاب می‌کند و بایستی بگوید رقمی که انتخاب کرده در فاکتوریل روز تولدش چند بار تکرار شده است. مثلا سجاد رقم ۶ را انتخاب می‌کند و اگر روز تولدش ۵ مرداد باشد (که برابر با ۱۲۹ امین روز سال است) بایستی بگوید رقم ۶ چند بار در !129 تکرار شده است. برای این کار به سجاد کمک کنید.

 

ورودی سوال مسابقه‌ی آسان

در سطر اول دو عدد می‌آید. عدد اول، روزی از سال است که سجاد به دنیا آمده است و عدد دوم رقم انتخابی اوست.

 

خروجی سوال مسابقه‌ی آسان

تعداد تکرار رقم انتخابی سجاد در فاکتوریل روزی از سال که به دنیا آمده است را در یک خط چاپ کنید.

 

حل سوال مسابقه‌ی آسان (به زبان برنامه نویسی سی پلاس پلاس)

#include <iostream>
 
using namespace std;
 
#define MAX 1000 
  
int multiply(int x, int res[], int res_size); 
  
void factorial(int n, int birth) 
{ 
    int res[MAX]; 
    int counter = 0;
  
    res[0] = 1; 
    int res_size = 1; 
  
    for (int x=2; x<=n; x++) 
        res_size = multiply(x, res, res_size); 
  
    for (int i=res_size-1; i>=0; i--) 
        if (res[i] == birth){counter++;}
        cout << counter;
} 
  
int multiply(int x, int res[], int res_size) 
{ 
    int carry = 0; 
  
    for (int i=0; i<res_size; i++) 
    { 
        int prod = res[i] * x + carry; 
  
        res[i] = prod % 10;   
  
        carry  = prod/10;     
    } 
  
    while (carry) 
    { 
        res[res_size] = carry%10; 
        carry = carry/10; 
        res_size++; 
    } 
    return res_size; 
} 
 
int main()
{
    int n, birth;
    
    cin >> n >> birth;
    
    factorial(n, birth);
 
    return 0;
}

 

منبع سوال : وبسایت کوئرا

 

اگر روش حل بهتری برای “تمرین مسابقه‌ی آسان” دارید برای ما ارسال کنید تا با نام خودتان به اشتراک بگذاریم.

اگر سوال خاصی را مدنظر دارید در بخش نظرات برای ما ارسال کنید تا حل آن سوال را در الویت محتوای سایت بگذاریم.

موفق باشید.

برای امتیاز به این نوشته کلیک کنید!
[کل: 1 میانگین: 5]