مشاهده نسخه کامل
: tarkib
salam
khubin?
ye soal dashtam
khaheshan ta 13 khordad bem javab bedin
kode barnamenevisi c++ baraye ( tarkib ) ro mikham
dar halate koli
lotfan komakam konid
ترکیب؟
n!/r!(n-r)!
a
آسونه که، بنویس بگو کجاشو مشکل داری
من کد این برنامه رو در حالت کلی میخوام
تو رو خدا جوابشو بگین
در حالت کلی نمیدونم
اگه میدونین ممنون میشم جواب بدین
خب اگه آسونه بگید دیگه؟!
اگه میدونستم که دیگه نمی پرسیدم
گفتم که وقت ندارم ، موقع امتحاناست
اگه میشه جوابشو بدین ،ممنون میشم
سلام
این جوابیه که من پیدا کردم ، میذارمش اینجا تا یکی دیگه حداقل ازش بهره ببره
ولی مبنای m به n رو پیدا نکردم ، این سایتم که فکر کنم اعضاش همه خوابن ، آخرین فعالیتشون مال چند سال پیشه
:41:
يادهسازي محاسبه ترکيب دو عدد
ترکيب دو عدد با استفاده از تابع combination_1 به زبان برنامهنويسي ++C قابل محاسبه است:
long factorial( int n )
{
if( n == 0 )
{
return 1;
}
return n * factorial( n - 1 );
}
long combination_1( int n, int r )
{
long fn = factorial( n );
long fr = factorial( r );
long fnr = factorial( n - r );
return ( fn / ( fr * fnr ) );
}
محاسبه ترکيب دو عدد نياز به محاسبه فاکتوريل سه عدد n ،n - r و r دارد. محاسبه اين سه فاکتوريل از مرتبه اجراي خطي هستند. در نتيجه تابع combination_1 هم از مرتبه خطي ( ?( n است.
ميزان رشد تابع فاکتوريل با افزايش مقدار ورودي آن بسيار زياد است. به عنوان مثال، !10 يک عدد هفت رقمي، و !100 يک عدد 158 رقمي است. در نتيجه امکان ذخيره کردن دقيق اعداد حاصل از فاکتوريل در متغيرهاي معمول زبانهاي برنامهنويسي ممکن نيست. اين در حالي است که ترکيب دو عدد، عليرغم بزرگ بودن فاکتوريل وروديهاي آن، ممکن است عدد کوچکي باشد:
محاسبه ترکيب دو عدد
يک راه حل آن است که در صورت نياز با استفاده از توابع و کلاسها، ذخيرهسازي اعداد صحيح بزرگ را تعريف و مديريت کنيم. در اين حالت ميتوان از بهينهسازي ضرب اعداد بسيار بزرگ و مسائل مربوطه هم استفاده کرد.
راه حل ديگر استفاده از رابطه زير است که از تعريف فوق به راحتي قابل اثبات است:
محاسبه ترکيب دو عدد
اين رابطه، يک الگوريتم بازگشتي براي محاسبه ترکيب روي n بر اساس ترکيب روي n - 1 را نشان ميدهد.
vBulletin , Copyright ©2000-2024, Jelsoft Enterprises Ltd.