بایگانی برچسب: s

بررسی های هرمی: چند نفر تو دکون هستن

نکته مهم: الان برنامه ها رو توی کامنت نذارین… فردا مسابقه رو اعلام می کنم و جواب ها رو اونجا بفرستین.

عناد من با سیستم‌های هرمی بر می گرده به زمانی که یکهو دیدم چند تا از دوستان خوب نه فقط اون تو هستن، که دارن در سطح فلسفی هم ازش دفاع می کنن. سر این جریان یکسری از دوستام رو از دست دادم یا بهتر بگم فهمیدم یکسری آدم دوستام نیستن. از همون زمان دوست داشتم شروع کنم به نوشتن یکسری شبیه ساز هرمی ولی همیشه تنبلی کردم تا اینکه بالاخره یک ایمیل خوب دریافت کردم:

جادی جان لازم دارم بدونم اگر در یک سیستم هرمی، با یک نفر شروع کنیم و هر نفر در هر ماه فقط یک نفر رو بیاره تو و خودش هم بعد از سه ماه بره بیرون، در هر ماه چند نفر توی سیستم خواهند بود و چند نفر اونو ترک کردن. من خودم حساب کردم و در ماه ۲۷ جمعیت ایران پر می شه. آیا درست حساب کردم؟

هوم.. اول بگم که خیلی خفنه که اینو توی اکسل حساب کرده (: از توان ذهن من که خارجه. خواستم برنامه اش رو بنویسم (که منطقا باید یک تابع ریکرسیو می‌شد) ولی نتونستم و برای اینکه کم نیارم این برنامه رو نوشتم:

#!/usr/bin/python

import sys

people = [0] #people already in the scheme. 
peopleOut = 0 #people alerady left the scheme

for month in range(1, int(sys.argv[1])):
	copypeople = people #cause we are changing the main array. so lets have to "for" loop on a copy of it
	for i in range(0, len(copypeople)):
		if (copypeople[i]<3): #does this person been here less than 3 months?
			people.append(0) #so let him bring a new commer to the end of array

		people[i]+=1 #one more month for this person

		if (copypeople[i]>3): #if been here more than 3 months
			people.pop(i) #take him out
			peopleOut +=1 #add one to people who have left the scheme
	#print people
	print month, peopleOut, len(people)

عرق شرم! یک آرایه دارم که هر عضوش یک نفر آدم است که عددش می گه چند ماهه توی این دکون است. بعد هر بار آرایه رو از اول تا آخر بررسی می کنم، اگر کسی هست به ازاش یک نفر رو به آرایه اضافه می کنم (عضو جدید) و ماه هایی که اینجا بوده رو هم یکی اضافه می کنم. اگر کسی ماه سومش است دیگه کسی رو نمی یاره و ماه بعد خارج می شه یا چنین چیزی ( عرق شرم مجدد ).

اجرای این برنامه تقریبا چهل و هشت ساعت ادامه داشت و رسید به این:

1 0 2
2 0 4
3 0 8
4 1 14
5 1 28
6 3 52
7 6 98
8 10 188
9 21 354
10 39 672
11 74 1274
12 141 2414
13 267 4576
14 507 8672
15 961 16436
16 1821 31152
17 3452 59042
18 6543 111902
19 12400 212090
20 23502 401976
21 44543 761870
22 84422 1443982
23 160007 2736794
24 303263 5187076
25 574778 9831122
26 1089383 18633034
27 2064720 35315394
28 3913287 66933654

که به سادگی می گه در ماه بیست و هشتم، ۳.۹ میلیون نفر از بازی خارج شدن و ۶۶.۹ میلیون نفر هنوز تو بازی هستن. این همونه که به ما میگه اگر دوستی رو دیدیم که توی این بازی ها وارد شده، به هوش یا توان ریاضی یا توان استدلال در مقابل شرایط گول زننده‌اش شک کنیم (: لازمه تکرار کنم که دعوای من با اون گروه اول، به دلیل ناتوانی منطقی‌شون نبود بلکه به خاطر ماله کشی روی کل عقایدشون بود وقتی – به اشتباه – بوی پول حس کرده بودن.

برای تموم این پست، این نمودار رو داشته باشیم:

herami

حالا دو نکته می مونه برای شما: ۱) آدم ها چرا وارد این سیستم ها می شن در حالی که – حتی با پذیرفتن مشکلات اخلاقی – احتمال رسیدن به پول توش حتی کمتر از احتمال برنده شدن لاتاری پول های بزرگه. این یک بحث علمی و فنی است که متخصصسش باید نظر درست بده ولی ما هم حق داریم نظر داشته باشیم و در موردش بحث کنیم و ۲) برنامه رو بهتر کنین! این چرندی که من نوشتم واقعا بده. اگر برنامه قابل قبول تری داشته باشیم می شه باهاش کارهای جالبتری کرد (: در قدم اول همین رو با پرفرمنس و منطق درست بنویسیم. پیشنهادی دارین؟ اصلا یک مسابقه… منتظر پست بعدی باشین!

نکته مهم: الان برنامه ها رو توی کامنت نذارین… فردا مسابقه رو اعلام می کنم و جواب ها رو اونجا بفرستین.