PDA

View Full Version : سوال: جعبه مورد نظر را پيدا كنيد(معما)



بانوی ایران
چهارشنبه 25 آذر 1388, 22:57 عصر
سلام دوستان
الگوريتم اين معما رو كسي ميدونه؟ در واقع حلش؟
10 جعبه داريم كه در هر جعبه 10 گوي هست
در 9 جعبه گوي ها 10 گرمي اند و در يكي 9 گرمي
چگونه با يك بار استفاده از ترازو جعبه مورد نظر را پيدا كنيم
(توجه گوي ها شبيه به هم اند)

مصطفی ساتکی
پنج شنبه 26 آذر 1388, 11:08 صبح
ا
سلام دوستان
الگوريتم اين معما رو كسي ميدونه؟ در واقع حلش؟
10 جعبه داريم كه در هر جعبه 10 گوي هست
در 9 جعبه گوي ها 10 گرمي اند و در يكي 9 گرمي
چگونه با يك بار استفاده از ترازو جعبه مورد نظر را پيدا كنيم
(توجه گوي ها شبيه به هم اند)
با یکبار به هیچ وجه نمیشه.این یه مسلئه دینامیک که شما استاتیکشو اینجا مطرح کردید
12 گوی که یک گوی دارای وزن متفاوت با 3 بار وزن کشی گوی مورد نظر پیدا شود.
نکته اینجاست که اون گوی متفاوت هم میتونه دارای وزن بیشتر از معیار یا کمتر از معیار باشه

qwerty11
پنج شنبه 26 آذر 1388, 11:23 صبح
سلام دوستان
الگوريتم اين معما رو كسي ميدونه؟ در واقع حلش؟
10 جعبه داريم كه در هر جعبه 10 گوي هست
در 9 جعبه گوي ها 10 گرمي اند و در يكي 9 گرمي
چگونه با يك بار استفاده از ترازو جعبه مورد نظر را پيدا كنيم
(توجه گوي ها شبيه به هم اند)
سوال که درسته. برخلاف نظراتی که دوستان دادن !

از جعبه ی اول یه گوی، از جعبه ی دوم 2 تا گوی، از جعبه ی سوم 3 تا گوی و ... و از جعبه ی دهم هم 10 تا گوی بردار !!

اگر مجموع این وزنها یکی از 550 کمتر بود جعبه ی اول گویهاش 9 گرمی هستند، اگر 2 تا از 550 کمتر بود جعبه ی دوم 9 گرمی هستند و ... و اگر 10 تا از 550 کمتر بود جعبه ی دهم 9 گرمی هستند.

مساله ی معروفیه ...

بانوی ایران
پنج شنبه 26 آذر 1388, 12:34 عصر
اي ول چه باحال:کف:
ولي چرا 550؟
يه توضيح كوچيك بديد ممنون ميشم:چشمک:

qwerty11
پنج شنبه 26 آذر 1388, 14:44 عصر
اي ول چه باحال:کف:
ولي چرا 550؟
يه توضيح كوچيك بديد ممنون ميشم:چشمک:
چونکه : 1+2+3+4+5+6+7+8+9+10=55 و 55*10=550

مصطفی ساتکی
پنج شنبه 26 آذر 1388, 16:34 عصر
بله حق با شماست من سوالو بد متوجه شدم و اون مسئله ای رو که مطرح کردم رو حل کنید و اما برنامه ای که می خواستید این مسئله رو حل کنه

var i, j ,a,b: integer;
Base, ba : longword;
begin
ListBox1.Clear;
Ba:= 10;
Base:=((ba*(ba+1) div 2)*ba);
for i:=1 to ba do
begin
a:=0;
b:=0;
for j:=1 to ba do
if i=j then
begin
inc(a,(ba-1)*j);
inc(b,(ba+1)*j);
end
else begin
inc(a,ba*j);
inc(b,ba*j);
end;
ListBox1.Items.Add('a:'+IntToStr(a) +' LevelA:'+IntToStr(abs((a-base))) +' b:'+IntToStr(B)+'LevelB:'+IntToStr(abs((b-base))));
end;

بانوی ایران
پنج شنبه 26 آذر 1388, 23:38 عصر
خيلي جالبه من هنوز تو كفم:کف:
ممنون همگي
ولي delphi جان يه سوال برنامه اي كه نوشتين با cهست؟
اگه نه به چه زبانيه؟ ميشه به زبان c بنويسيدش؟