PDA

View Full Version : سوال: جمع تمام اجزای یک آرایه ؟؟



ak1_2004
شنبه 23 اسفند 1393, 13:49 عصر
سلام
سوالم رو به صورت مثال توضیح می دم .. لطفا راهنمایی کنید . ممنون

فرض کنید یک آرایه A از اعداد داریم که شامل 1 تا 10 هست !! می خوام تمام اجزای این آریه رو تک تک ، دو به دو و ... با هم جمع کنم !! به شرطی که مثلا بیش از 4 تا عدد با هم جمع نشه !!!

مثلا :


A1+A2
A1+A2+A3+A4
A1+A3+A4+A5
A2+A3
A4+A5+A7
A1+A6+A9+A10
و ....


با چه الگوریتمی می تونم به این نتایج برسم ؟
یعنی هیچ ترکیبی از اعداد نماند که با هم جمع نشه !!

ممنون

a.r.khoshghalb
شنبه 23 اسفند 1393, 19:30 عصر
من بهترین راهی که به ذهنم میرسه اینه که یه آرایه 4 بعدی بگیری، بعد هر بعد رو از رو بعد قبلی به صورت داینامیک پر کنی.
اگر خواستی بگو کدشو بزنم.
اوردرش ولی 4^n هست.

shahmohammadi
شنبه 23 اسفند 1393, 19:48 عصر
سلام.
ابتدا تمام ترکیبات 4 تایی از 10 عنصر رو به دست آورید. بعد تمام ترکیبات 3 تایی و بعد تمام ترکیبات 2 تایی و بعد یکتایی.

برای اینکه بتونید از یک آرایه ی n عنصری تمام ترکیبات m عنصری را به دست آورید به صفحه ی 8 این کتاب مراجعه کنید:
GENERATING ALL AND RANDOM INSTANCES OF A COMBINATORIAL OBJECT
الگوریتمی که اونجا به کار برده الگوریتم بکترکینگ است. توی این کتاب یاد داده که چطور تمام زیر مجموعه های n عضوی یک مجموعه، تمام جایگشت های یک مجموعه و ... رو با استفاده از روش بک ترکینگ و سایر روش ها به دست آوریم.
موفق باشید.

ak1_2004
یک شنبه 24 اسفند 1393, 14:02 عصر
اگر یکی لطف کنه کدش رو بزاره یا این کتابی رو کع معرفی کردید . لینکش رو بزارید ممنون می شم .

shahmohammadi
یک شنبه 24 اسفند 1393, 18:06 عصر
اسم کتاب رو که توی گوگل می نویسیم می آره:
http://citeseerx.ist.psu.edu/viewdoc/download?rep=rep1&type=pdf&doi=10.1.1.211.6576

ak1_2004
یک شنبه 24 اسفند 1393, 18:16 عصر
آره دیدم تنکس