View Full Version : سوال: تشخیص عدد سه رقمی (با یک دستور شرطی)
mj_programmer
جمعه 30 مهر 1389, 11:15 صبح
با سلام
سوال من در مورد نوشتن الگوریتمی است که با یک دستور if و یک مقایسه بدون استفاده از and و or عدد سه رقمی را تشخیص دهد.
ممنون میشم مرا راهنمایی کنید.
مسعود اقدسی فام
جمعه 30 مهر 1389, 11:44 صبح
عدد با چه مبنایی؟
کمی واضحتر لطفا.
mj_programmer
جمعه 30 مهر 1389, 13:16 عصر
با تشکر از توجه شما
عدد در مبنای ده باشد.
مسعود اقدسی فام
جمعه 30 مهر 1389, 13:23 عصر
if( floor(log( abs( num ) )) == 2 )
{
// num has 3 digits
}
اگه عدد حتما مثبته، تابع abs رو حذف کن
armiya
جمعه 30 مهر 1389, 13:27 عصر
این تا بع هایی که نوشتید کلی توش مقایسه دارن که ؟
بنده خدا گفته با یه مقایسه
مسعود اقدسی فام
جمعه 30 مهر 1389, 13:35 عصر
این تا بع هایی که نوشتید کلی توش مقایسه دارن که ؟
بنده خدا گفته با یه مقایسه
همین که یه عدد به صورت مبنای ده نشون داده بشه کلی مقایسه داره! اینطوری حساب کنیم باید به زبان ماشین و با مبنای دو کار کنیم.
mj_programmer
جمعه 30 مهر 1389, 13:42 عصر
if( floor(log( abs( num ) )) == 2 )
{
// num has 3 digits
}
اگه عدد حتما مثبته، تابع abs رو حذف کن
بله عدد مثبت در نظر گرفته شده همین log خیلی کمکم کرد.با تشکر
Salar Ashgi
جمعه 30 مهر 1389, 13:49 عصر
در تکمیل گفته های دوست عزیز : مسعود اقدسی فام (http://www.barnamenevis.org/forum/member.php?u=87209) ؛
میتوان اثبات نمود که تعداد ارقام یک عدد n رقمی از فرمول زیر بدست می آید :
n:integer
Number_of_digits(n) = 1+floor(log10(n))
موفق باشید ./
tooraj_azizi_1035
یک شنبه 02 آبان 1389, 09:38 صبح
سلام،
آیا براتون مقدور هست که اونو به رشته تبدیل و بعد طولش را با 3 مقایسه کنید؟ :بوس:
Salar Ashgi
یک شنبه 02 آبان 1389, 10:01 صبح
آیا براتون مقدور هست که اونو به رشته تبدیل و بعد طولش را با 3 مقایسه کنید؟
منظورتان را کمی واضحتر بیان کنید ./
مسعود اقدسی فام
یک شنبه 02 آبان 1389, 15:08 عصر
سلام،
آیا براتون مقدور هست که اونو به رشته تبدیل و بعد طولش را با 3 مقایسه کنید؟ :بوس:
این هم روشیه. ولی برای اعداد سه رقمی منفی جواب نمیده.
Salar Ashgi
سه شنبه 04 آبان 1389, 09:54 صبح
آیا براتون مقدور هست که اونو به رشته تبدیل و بعد طولش را با 3 مقایسه کنید؟
سوالتان کمی ایهام دار بود ؛
اگه منظورتون گرفتن عدد بشکل String هستش ، بله ، خوب میشه ؛ میتونید مثلا Length رشته رو با 3 مقایسه کنید ولی اگه قراره محاسبات زیادی روی این عدد انجام بشه ، بهینگی این روش کم و هزینه اش
بالاست !
nima898
چهارشنبه 05 آبان 1389, 11:25 صبح
نیازی نیست که به رشته تبدیل بشه حاصلش رو باید با 2 مقایسه کرد
if log(n)=2 then ...
Salar Ashgi
چهارشنبه 05 آبان 1389, 13:05 عصر
نیازی نیست که به رشته تبدیل بشه حاصلش رو باید با 2 مقایسه کرد
این که قبلا بررسی شد ، به پست های قبل دفت کنید ./
nima898
سه شنبه 11 آبان 1389, 09:13 صبح
این که قبلا بررسی شد ، به پست های قبل دفت کنید ./
اینو در پاسخ به این پست گفته بودم.
آیا براتون مقدور هست که اونو به رشته تبدیل و بعد طولش را با 3 مقایسه کنید؟ :بوس:
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.