به محفل ریاضی ایرانیان خوش آمدید! لطفا برای استفاده از تمامی امکانات عضو شوید
سایت پرسش و پاسخ ریاضی
+2 امتیاز
249 بازدید
در دبیرستان توسط someshit (9 امتیاز)
ویرایش شده توسط AmirHosein

چند عدد از مجموعهٔ $X=\lbrace 1,2,3,4,\dots,9999,10000\rbrace$ دقیقا یک رقم 7 و یک رقم 8 دارند؟

تلاش من: اگه بیایم از جایگذاری (نمیدونم دقیقا چی میگن) بریم، $8\times 8\times 1\times 1$، تعداد حالت های 7 و 8 رو 1 گرفتم و حالات باقی اعداد 8 میشه و باید حساب کنم تو چند حالت 1ها و 8ها جا به جا میشن.

3 پاسخ

+4 امتیاز
توسط amir7788 (2,708 امتیاز)
ویرایش شده توسط amir7788

سوال مطرح شده معادل این است که در بین کدهای چهار رقمی چند کد دقیقا دارای یک 7 و یک 8 می باشد؟ اما جواب این مسئله، با حذف این 7 و 8 کدهای دو رقمی بدست می آیند که 7 و 8 ندارند برای ادامه دو حالت در نظر می گیریم

حالت اول) کدهایی که دو رقم یکسان (بغیر از 7 و8)مثلاa دارند 8تاست. بنابراین تعداد کدهای چهار رقمی که با 7،8،a و a می توان نوشت برابر است با $$8× \frac{4!}{2!} =96 $$

حالت دوم) کدهایی دو رقمی با ارقام غیر یکسان (بغیر از 7 و8)مانند a و b دارند برابر 56 می باشه در این صورت تعداد کد چهار رقمی با چهار رقم متمایز 7، 8، a، b برابر است با $$ \frac{56×4!}{2} =672 $$ تقسیم بر 2 با توجه به توضیح کامل @Elyas1 صورت گرفت

بنابراین مجموع این دو حالت 768کد چهار رقمی بدست می آید.

توسط amir7788 (2,708 امتیاز)
اشتباه محاسباتی درست کردم ولی با جواب برنامه یکسان نشد؟با برنامه آشنا نیستم دوستان هر دو روش بررسی کنند
توسط Elyas1 (4,212 امتیاز)
+3
@amir7788 در قسمت دوم پاسختون نیاز به تقسیم بر دو نیز هست. مثلاً دو حالت زیر که یکسان اند محاسبه شده است.
حالت اول $a=2,b=1$ در این صورت در اعداد به شکل $7a8b$ عدد $7281$ وجود دارد.

حالت دوم $b=2,a=1$ در این صورت در اعداد به شکل $7b8a$ عدد  $7281$ وجود دارد.
+4 امتیاز
توسط moh_amin (352 امتیاز)
ویرایش شده توسط moh_amin

برای پاسخ به این سوال باید کد های چهاررقمی که تعداد 7 و 8 در آنها دقیقا برابر یک است را پیدا کنیم توجه داشته باشید که ارقام سمت چپ کد میتوانند 0 باشند چون سوال الزاما اعداد 4 رقمی از ما نخواسته برای رقم 8 ، 4 انتخاب و برای رقم 7 ، 4 منهای 1 یعنی 3 انتخاب داریم و برای هریک از دو جایگاه باقیمانده 10 منهای 2 یعنی 8 انتخاب داریم در نهایت 4×3×8×8=768 حالت مطلوب خواهیم داشت کد زیر (که به زبان پایتون نوشته شده است) صحت پاسخ را تایید میکند :

x = 0
for i in range(1, 10001):
    i = str(i)
    if i.count("7") == 1 and i.count("8") == 1:
        x+=1
print("x is ", x)

توسط AmirHosein (18,510 امتیاز)
+1
@moh_amin اینکه از برنامه‌نویسی استفاده کردید خوب است ۱+ صرفا به عنوان یک نکته می‌توانید کدهای‌تان را نیز مانند فرمول‌های ریاضی تایپ کنید. به مورد شمارهٔ ۵ در راهنمای زیر نگاه کنید
https://math.irancircle.com/8627
0 امتیاز
توسط Math.Al (1,441 امتیاز)
ویرایش شده توسط Math.Al

به نام خدا

با نوشتن یک کد ساده به زبان ++C، پاسخ 768 به‌دست می‌آید که درست است.

#include <iostream>
#include <string>
using namespace std;
int main()
{
    int count7 = 0, count8 = 0, countn = 0;
    for (int i = 1; i <= 10000; ++i)
    {
        for (char c : to_string(i))
        {
            if (c == '7') ++count7;
            if (c == '8') ++count8;
        }
        if (count7 == 1 && count8 == 1) ++countn;
        count7 = 0; count8 = 0;
    }
    cout << countn;
}

الگوریتم این برنامه به این شکل است که برای هر عدد از 1 تا 10000، تمام رقم‌های 7 و 8-ِ موجود در عدد را می‌شمارد و بعد اگر هم تعداد 7ها و هم تعداد 8ها برابر با 1 بود، به‌نتیجۀ نهایی یک واحد اضافه می‌کند و به عدد بعدی می‌رود و دوباره همین مراحل را تکرار می‌کند و در نهایت نتیجۀ نهایی (که 768 است) را نشان می‌دهد.


حمایت مالی

کانال تلگرام محفل ریاضی
امروز : تاریخ شمسی اینجا نمایش داده می‌شود
...