View Full Version : سوال: تشخیص عدد سه رقمی (با یک دستور شرطی)
mj_programmer
جمعه 30 مهر 1389, 12:15 عصر
با سلام
سوال من در مورد نوشتن الگوریتمی است که با یک دستور if و یک مقایسه بدون استفاده از and و or عدد سه رقمی را تشخیص دهد.
ممنون میشم مرا راهنمایی کنید.
مسعود اقدسی فام
جمعه 30 مهر 1389, 12:44 عصر
عدد با چه مبنایی؟
کمی واضحتر لطفا.
mj_programmer
جمعه 30 مهر 1389, 14:16 عصر
با تشکر از توجه شما
عدد در مبنای ده باشد.
مسعود اقدسی فام
جمعه 30 مهر 1389, 14:23 عصر
if( floor(log( abs( num ) )) == 2 )
{
// num has 3 digits
}
اگه عدد حتما مثبته، تابع abs رو حذف کن
armiya
جمعه 30 مهر 1389, 14:27 عصر
این تا بع هایی که نوشتید کلی توش مقایسه دارن که ؟
بنده خدا گفته با یه مقایسه
مسعود اقدسی فام
جمعه 30 مهر 1389, 14:35 عصر
این تا بع هایی که نوشتید کلی توش مقایسه دارن که ؟
بنده خدا گفته با یه مقایسه
همین که یه عدد به صورت مبنای ده نشون داده بشه کلی مقایسه داره! اینطوری حساب کنیم باید به زبان ماشین و با مبنای دو کار کنیم.
mj_programmer
جمعه 30 مهر 1389, 14:42 عصر
if( floor(log( abs( num ) )) == 2 )
{
// num has 3 digits
}
اگه عدد حتما مثبته، تابع abs رو حذف کن
بله عدد مثبت در نظر گرفته شده همین log خیلی کمکم کرد.با تشکر
Salar Ashgi
جمعه 30 مهر 1389, 14: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, 10:38 صبح
سلام،
آیا براتون مقدور هست که اونو به رشته تبدیل و بعد طولش را با 3 مقایسه کنید؟ :بوس:
Salar Ashgi
یک شنبه 02 آبان 1389, 11:01 صبح
آیا براتون مقدور هست که اونو به رشته تبدیل و بعد طولش را با 3 مقایسه کنید؟
منظورتان را کمی واضحتر بیان کنید ./
مسعود اقدسی فام
یک شنبه 02 آبان 1389, 16:08 عصر
سلام،
آیا براتون مقدور هست که اونو به رشته تبدیل و بعد طولش را با 3 مقایسه کنید؟ :بوس:
این هم روشیه. ولی برای اعداد سه رقمی منفی جواب نمیده.
Salar Ashgi
سه شنبه 04 آبان 1389, 10:54 صبح
آیا براتون مقدور هست که اونو به رشته تبدیل و بعد طولش را با 3 مقایسه کنید؟
سوالتان کمی ایهام دار بود ؛
اگه منظورتون گرفتن عدد بشکل String هستش ، بله ، خوب میشه ؛ میتونید مثلا Length رشته رو با 3 مقایسه کنید ولی اگه قراره محاسبات زیادی روی این عدد انجام بشه ، بهینگی این روش کم و هزینه اش
بالاست !
nima898
چهارشنبه 05 آبان 1389, 12:25 عصر
نیازی نیست که به رشته تبدیل بشه حاصلش رو باید با 2 مقایسه کرد
if log(n)=2 then ...
Salar Ashgi
چهارشنبه 05 آبان 1389, 14:05 عصر
نیازی نیست که به رشته تبدیل بشه حاصلش رو باید با 2 مقایسه کرد
این که قبلا بررسی شد ، به پست های قبل دفت کنید ./
nima898
سه شنبه 11 آبان 1389, 10:13 صبح
این که قبلا بررسی شد ، به پست های قبل دفت کنید ./
اینو در پاسخ به این پست گفته بودم.
آیا براتون مقدور هست که اونو به رشته تبدیل و بعد طولش را با 3 مقایسه کنید؟ :بوس:
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.