| عناوین بحث ها | ارسال کننده | پاسخها | بازدید | بروز رسانی | اولویت | |
|---|---|---|---|---|---|---|
|
|
1246
|
10568
|
90/7/24 (21:10)
|
|
||
|
|
1494
|
8819
|
90/12/23 (16:20)
|
|
||
|
|
512
|
8911
|
91/2/29 (20:27)
|
|
||
|
|
24
|
810
|
91/2/29 (20:22)
|
|
||
|
|
9
|
135
|
91/2/18 (15:14)
|
|
||
|
|
10
|
143
|
91/2/10 (11:48)
|
|
||
|
|
10
|
210
|
91/1/30 (14:21)
|
|
||
|
|
9
|
144
|
91/1/30 (13:05)
|
|
||
|
|
7
|
150
|
91/1/30 (10:34)
|
|
||
|
|
29
|
448
|
91/1/29 (16:55)
|
|
||
|
|
18
|
382
|
91/1/29 (16:47)
|
|
||
|
|
4
|
107
|
91/1/29 (12:08)
|
|
||
|
|
4
|
141
|
91/1/29 (11:23)
|
|
||
|
|
5
|
269
|
91/1/20 (21:46)
|
|
||
|
|
23
|
563
|
91/1/7 (16:14)
|
|
||
|
|
8
|
200
|
90/12/26 (14:03)
|
|
||
|
|
4
|
130
|
90/12/24 (00:06)
|
|
||
|
|
15
|
252
|
90/12/21 (14:56)
|
|
||
|
|
46
|
757
|
90/12/16 (10:56)
|
|
||
|
|
61
|
1220
|
90/11/16 (12:08)
|
|
آره دیگه كار وقتی برای انجام این كارها نمیذاره. یاد دوران دانشجویی بخیر كه واقعا رها بودیم.
پیر شدیم دیگه ممرز ... باید كار رو بدیم دست جوونا ... هر چند كه دود هنوزم از كنده بلند میشه
به هر حال امیدوارم هر جا هستی و هر چه میكنی شاد باشی و به درجاتی كه استحقاقش رو داری رسیده باشی. 
یه راه حل بهتر برای این معما پیدا كردم كه معما رو در حالتی كلی تر جواب میده. چون توی كلوب خودم این راه حل رو جانشین راه حل قبلی كردم، فكر كردم لازمه كه اینجا هم راه حل جدید رو بزارم. البته قبلی رو پاك نمیكنم چون اثبات یكتایی جواب برای حالت n=40 رو داره. راه حل جدید بحثی در رابطه با یكتایی نداره اما نشون می ده كه اون حالت حداكثری همواره قابل دسترسی هست.


درود بر دوستان
اولا انتخاب ممرز رو به مدیریت این كلوب تبریك میگم. قطعا شایسته ترین فرد برای مدیریت این كلوب خودشه. بعد از مدت ها یه سری به اینجا زدم و دیدم كه متاسفانه سطح كنونی اینجا نسبت به دوران طلایی قدیم بسیار نزول كرده. امیدوارم كلوب بتونه با مدیریت ممرز به شرایطی كه در اون دوران داشت برگرده.
این معما معمای بسیار خوبیه و من از حلش بسیار لذت بردم و حقیقتش رو بخوای دلم نیومد جوابم رو اینجا نزارم. این جواب رو به یاد دوران قدیم تقدیم میكنم به همه رفقای خوب قدیمی.
اول صورت معما رو یه كم كلی تر ( و البته زیباتر) كنیم.
یك قصاب میخواد با خرید تعداد وزنه امكان وزن كردن وزنه های 1و2و...و40 رو داشته باشه. كمترین تعداد وزنه هایی كه باید بخره و وزن اونها را مشخص كنید.


گام سوم: نوشتن برنامه برای محاسبه وزن های مورد نظر
برنامه زیر رو به زبان C برای محاسبه جواب های ممكن نوشتم. با اجرای این برنامه متوجه میشیم كه تنها جواب ممكن (تنها خروجی برنامه) بردار (1,3,9,27) است. بنابراین تنها 4 وزنه ای كه به كمك اونها میشه وزن های 1 تا 40 رو تولید كرد همین 4 وزنه هستند.
#include<stdio.h>
#include<stdlib.h>
main()
{
int a,b,c,d,i,j;
int N[40];
int M[40][4]={{1,0,0,0},{0,1,0,0},{0,0,1,0},{0,0,0,1},{1,1,0,0},
{1,0,1,0},{1,0,0,1},{0,1,1,0},{0,1,0,1},{0,0,1,1},{1,-1,0,0},{1,0,-1,0},{1,0,0,-1},
{0,1,-1,0},{0,1,0,-1},{0,0,1,-1},{0,1,1,1},{1,0,1,1},{1,1,0,1},{1,1,1,0},{0,-1,1,1},
{-1,0,1,1},{-1,1,0,1},{-1,1,1,0},{0,1,-1,1},{1,0,-1,1},{1,-1,0,1},{1,-1,1,0},{0,1,1,-1},
{1,0,1,-1},{1,1,0,-1},{1,1,-1,0},{-1,1,1,1},{1,-1,1,1},{1,1,-1,1},{1,1,1,-1},{-1,-1,1,1},
{-1,1,-1,1},{-1,1,1,-1},{1,1,1,1}};
for(a=1;a<=40;++a)
{
for(b=a+1;b<=40;++b)
{
for(c=b+1;c<=40;++c)
{
for(d=c+1;d<=40;++d)
{
if(a+b+c+d==40)
{
for(i=0;i<40;++i)
N[i]=abs(a*M[i][0]+b*M[i][1]+c*M[i][2]+d*M[i][3]);
for(i=0;i<40;++i)
{
for(j=i+1;j<40;++j)
if(N[i]==N[j])goto flag;
}
printf("%d %d %d %d\n",a,b,c,d);
flag:
}
}
}
}
}
}