با سلام
الگوریتم پیدا کردن عدد بزرگتر بین دو عدد بدون استفاده از شرط رو اگه کسی میدونه به ماهم بگه
Printable View
با سلام
الگوریتم پیدا کردن عدد بزرگتر بین دو عدد بدون استفاده از شرط رو اگه کسی میدونه به ماهم بگه
قبلا در بخش برنامه نویسی به زبان c به آن پاسخ داده شده
اگر منظورتان از اینکه جواب داده شد اینه:نقل قول:
نوشته شده توسط small_programmer
http://www.barnamenevis.org/sh...7%D2+%D4%D1%D8
متاسفانه، خیر، جواب داده شده جوابی که معلمها به شاگردها بلغور میکنند و درست نیست.
برایه اینکه ببینید چرا درست نیست، به تعریف abs یک نگاه بندازید، متوجه میشید که هنوز هم از شرط داره استفاده میشه.
این سوال را میشه به ریاضی جواب داد، ولی از لیمیت و توان استفاده میشه که از حده آشنائی دانشجوهایه معمولی یکمی بالتره.
خوب اَرژنگ خوان شما جواب درست رو بدید که ما هم شاید اگه IQ مون اجازه داد بفهمیم
آقا شما شوخی میکنید؟ من الان ۱۵ ساله دنباله جواب درست این سوال میگردم، جوابی که اینجا عرضه شد را ۱۳ ساله پیش دیدم ( در یک کتاب دیدم ، یعنی اینکه خودم پیدا نکردم ).
وقی که گفتم جواب ریاضی از سطحه دانش جوهایه معمولی بیشتره منظورم این نبود که من سطحم از دانشجوهایه معمولی بالاتره، مطمعنم پائین تر هست ولی نه بالاتر. من یک دوست داشتم که رفت مدرسه تیزهوشان، مطمعنم که اون (یا هر تیز هوش دیگری) جواب این سوال را یکضرب میده. من فقط میدونم که جواب درست نیست، ولی اینکه جواب درست چیه از سطح من، یک تا صد کیلومتر بالاتره.
جواب ریاضی ( که من در یک کتاب دیدم ، یعنی اینکه خودم پیدا نکردم و بعد از کلی تلاش تازه یکمی سر دراوردم که چرا درسته ) این بود:
lim n->inf (a^n+b^n)^(1/n)
منتها من فکر نمیکنم که جواب این سوال به بالا یا پائین بودن IQ ربط داشته باشه، بعضیها مخشان یک جوره دیگه فکر میکنه، فقط همان، شاید بعد از ۱۵ ساله دیگه چیزی را که برایه انجور ادمها واضح و مشخص است را با کلی سختی و مشقت پیدا کنم.
سلام،
ببخشید آرژنگ جان، ممکنه ما رو هم راهنمایی کنین، شاید سر در بیاریم (همون یه کمی که خودتون سر درآوردین، اگه ممکنه به ما هم بگین). آخه اینطوری که به نظر می رسه، جواب این حد باید صفر بشه.
ممنون.
max=(a >b)*a+ (b>a)*b
این عبارت برای همه ی کامپایلر ها جواب درست می ده فقط بر حسب اینکه کامپایلر برای true چه مقداری را برگشت می دهد یک تغییر اندکی می کند.من فرض کردم که کامپایلر برای true عدد 1 و برای false عدد 0 را بر می گرداند.
حال اگر کامپایلر بخصوصی برای true عدد -1 (منهای یک) عبارت به صورت زیر تغییر خواهد کرد :
(max =((a>b)*a+2a)+((b>a)*b+2b
چطور میشه که abs شرطه و لی (a>b ) شرط نیست
این مساله جواب ندارد چرا که بالاخره یکجا باید a , b باید باهم مقایسه شوند
نقل قول:
نوشته شده توسط sh_roohani
Assume b>a
(a^n+b^n)^(1/n)= ( (a^n+b^n)*b^n/b^n )^(1/n)
= ( (a^n/b^n + 1 )^(1/n) ) *b
= ( ( (a/b)^n + 1 )^(1/n) ) *b
lim n->inf (( (a/b)^n + 1 )^(1/n) = 1 ( remember a<b )
hence
lim n->inf (a^n+b^n)^(1/n)= 1 * b = b ( thats is max(a,b) )
در ضمن برایه تفریح به این نکته که
lim n->inf ( 1 + 1/n )^n = e
and not = 0 or 1
یکمی تمرکز کنید.
من هم اول که اینها را دیدم فکر کردم جواب ۱ یا صفر باشه.
سلام
آره ولی اینکه باید عددی حل بشه ! یعنی اصولا یک راه حل ریاضی است نه برنامه نویسی. شما توی مثلا سی دستوری برای حد گرفتن دارید؟ باید کلی کد نوشته بشه تاحد رو بشه محاسبه کرد.
ممنون علی
سلامنقل قول:
نوشته شده توسط seyedof
جوابی که داده شده عددی هست، الگریتم یعنی راهه حل، راهه حل ریاضی یا برنامه نویسی نداره، برایه مثال یک نگاه به این کتاب بندازید:
http://www.introductiontoalgorithms.com
برایه بدست آوردن حد هیچ کدی لازم نیست نوشته بشه فقط از اعداد مختلف باید استفاده بشه.نقل قول:
نوشته شده توسط seyedof
سلام خدمت دوستان
آدرس اون تاپیکی که می گفتم اینه
http://www.barnamenevis.org/sh...ad.php?t=18826
البته اگه اون تاپیک رو کامل خونده باشید متوجه شدید که من اونجا گفتم این کار به نظر من قابل انجام نیست اگه شما می گید قابل انجامه کدی ارائه بدید که اون کار رو انجام می ده اونوقت می
شه حرف شما رو قبول کرد
واقعیتش من که ریاضی ام زیاد قوی نیست از کجا معلوم این فرمول درسته
ممنون
بر چه اصلی و یا مبنائی میگید که نمیشه، دلیل و یا منطق نشدن چیه. در ریاضیات یاد میدن که چطوری قابل انجام نبودن کاری را اثبات کرد، برایه مثال یک نگاه به Halting Problem بیاندازید.نقل قول:
نوشته شده توسط small_programmer
۱. اسمه این بخش ، بخش الگیتمه، الگریتم با کد ربط نداره.نقل قول:
نوشته شده توسط small_programmer
۲. با ماشین حساب میشه امتحان کرد، الگریتمی که اراعه شد با امتحان چند عدد نوشتن کدش واضح میشه.
۳. این حرف من نیست که کسی بخواد قبول یا رد کنه، واقعیت ریاضیه.
۴. برایه دیدن اثبات این رابطه ( نه فرمول) در کتابهایه Mathematical Analysys جستجو کنید پیدا میکنید، من این مثال را از http://www.amazon.com/gp/product/038...lance&n=283155 به یادم مانده بود.در ضمن نهوه اثباتش را هم که فرستادم.
۵. بعد از امتحان کردن چند عدد در ان فرمول اینکه n باید تقریبی چی انتخواب بشه که جواب نزدیک باشه واضح میشه.
۶. ریاضیاتتان را قوی کنید، روزی نیم ساعت وقت بگذارید بسه، از کجا معلوم شما استعداد خوبی برایه ریاضیات نداشته باشید؟ حداقل یک امتحان بکنید، تنها اشکال، سعی کردن یادگرفتن از کتابهایه فارسی است، برایه کلماتی که ندارند چرندیات میبافند و یا از لغات عربی استفاده میکنند، بهترین زبان برایه یاد گرفتن ریاضی انگلیسی است.
آقا آرژنگ ممنونم از اینکه به حرفهام توجه کردی وجوابم رو دادی
در مورد نصیحتت در مورد یادگیری ریاضی خودم که چشمم آب نمیخوره
ممنون