تابع f این ویژگی را دارد:
• F(1)=1
• دنبالهء F(1),F(2),F(3),…. دنباله ای صعودی است که عدد n در آن F(n) بار آمده است.
به عنوان مثال چند جمله اول این دنباله بصورت زیر است:
n 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
F(n) 1 2 2 3 3 4 4 4 5 5 5 6 6 6 6
Printable View
تابع f این ویژگی را دارد:
• F(1)=1
• دنبالهء F(1),F(2),F(3),…. دنباله ای صعودی است که عدد n در آن F(n) بار آمده است.
به عنوان مثال چند جمله اول این دنباله بصورت زیر است:
n 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
F(n) 1 2 2 3 3 4 4 4 5 5 5 6 6 6 6
مقدمه جالبی، حالا اگر n داده بشه ما میخواهیم بدونیمF(n)=؟
بله،
n از ورودی گرفته می شود و باید f(n) را تولید کند.
من هنوز متوجه ء ارتباط n و تابع خروجی نشدم که این اعداد بر حسب چه منطقی تولید می شود؟!
با سلام
دوست عزیز لازم است بدانید الزاما همه توابع اینچنینی رابطه خاصی ندارند و گاها به سختی می توان برای اینگونه توابع رابطه پیدا کرد ولی اولا متن پیام شما کاملا واضح نیست ولی اگر دنباله نوشته شده مطابق با گفته شما باشد مسلما جمله
(F(n ام
به تعداد
n
بار تکرار شده است و این یعنی جواب .
در غیر اینصورت سوالتان را صریح تر بیان کنید.
تقریباً ولی نه کاملاً، این جمله فقط خوصیصیتش را بیان میکنه ولی نمیگه کهنقل قول:
نوشته شده توسط raha_hakhamanesh
اگر n داده شده باشه f(n) میشه چی .
منتها این تابع یکمی از تابعهایه دیگر آسانتره، فقط من مطمعن نیستم که دنباله روشه الگریتمی میگردند و یا ریاضی.
سلام
این مسئله یکی از سوالات المپیاد هم بوده و جوابش هم هست.اما میخوام راجع بهش بحث بشه
روش الگوریتمی هم داره
سلام
حل شد (:
k=1; f[1]=1; f[2]=2
recieve n from user
for(int i=0;i<=n;i++) f
{
for(int j=0;j<f[i];j++) f
{
f[k]=i
k++;
}
}
این المپیادارو کجا می گیرن بگو ما هم بریم شرکت کنیم پس این طوری که می بینم اعداد فیبوناتچی سخت ترین سوال آن المپیاده
شما فلن اگه راست می گی همین سوالو می خواستی جواب بدی،المپیاد پیشکشتون!!!
با عرضه پوزش از همه، ولی در المپیکه ریاضیات این جواب قابل قبول نیست،
این الگریتم با اینکه درست هست، باید تمامه مقدارات را تا ن حساب کنه، در المپیک جوابی میخوان که ن را یکظربی تحویل بده.
در ضمن اعداد فیبوناچی هم باید بدون حساب کردن تمامه مقدارات تا ن حساب بشند، و اگرچه الان جوابش را همه میدوند، ولی بدون دونستن جواب پیدا کردن فرمولی که مستقیماً مقدار ن را برایه فیباناچی بده همچین آسون نیست و سوالات شبیه به همون را در المپیک میگذارند.
آره دیگه المپیاد جای شماست بری از 3 تا رفرنس جستجوی سطحی بخونی این اصلا سوالی نیست که فکر لازم داشته باشه
آرژنگ جان
شما راجع به اینکه بدون استفاده از ذخیره مقادیر قبلی ،مقدار f(N)l را بدست بیاریم پیشنهادی دارید؟
حرف آرژنگ کاملا درسته و معمولا تو المپیاد سوالات از این هم سختر میشه مثلا می گن اعداد 1 تا ن رو داری 300 رقم چی میشه البته اینم زیاد سخت ولی نسبت به سوال قبلی سخت تره
الان ۲۰ صفحِه را سیاه کردم نمیدونم چه طوری بنویسم، ولی من دارم قسمت بندیه (n)f کار میکنم، اما از اینکه به جایی میرسه یا نه مطمعن نیستم، ولی اینکه اعداد چند بار تکرار میشند هم کمکه، مثلاً فقط دفعات تکرار اعداد را بنویسیم و بخوهیم ازشان استفاده کنیم، ۲ ، ۲ بار تکرار شده، ۳ ، ۲ بار تکرار شده، ... میده:نقل قول:
نوشته شده توسط Mega7000
۲، ۲، ۳، ۳ ، ... ، بالاخره یک حتی اگر شده یک جوری یک پترنی بدست بیاریم که سوال را از وابسطگی به اعداد قبلی دربیاره و یا یک چیزی در همین مایه ها.
یک روش درختی هم بود که فقط جالب بود ولی برایه برعکس کردن به هیچ دردی نخورد.
المپیاد ریاضی یا الگریتم؟ ماله چه سالی؟ لطفا یک کمی بیشتر رفرانس بدین.نقل قول:
نوشته شده توسط Mega7000
المپیاد کامپیوتر(الگوریتم)
اما متاسفانه نمی دونم ماله چه سالیه