سوال در مورد تبدیل متغییر های یک آرایه به رشته های بدون تکرار

ساخت وبلاگ

یک شنبه 19 آذر 1396, 15:24 عصر #1

سوال در مورد تبدیل متغییر های یک آرایه به رشته های بدون تکرار

سلام.

ما یک آرایه ورودی داریم با تعداد دلخواه متغییر ...
مثل :

$input = array('A', 'B', 'C', 'D', 'E' ,'F');

حالا میخواهیم این متغییر ها رو در دسته های 4 تایی بدون تکرار قرار بدیم ...
خروجی مورد نظر :

A B C D
A B C E
A B C F
B C D E
B C D F
C D E F
A C D E
A C D F
A C E F
. . . . . . .
. . . . . . .
X X X X

کسی میدونه چیکار باید کرد ؟
‌ ‌


یک شنبه 19 آذر 1396, 17:50 عصر #2

نقل قول: سوال در مورد تبدیل متغییر های یک آرایه به رشته های بدون تکرار

اینی که میگم تئوریه همش وممکنه اشتباه باشه محسابات فقط میخام مسیر رو نشونت بدم
اول در میاری که کلا چند حالت وجود داره که ترکیب 4 تایی بسازی با 6 حرف فکر میکنم 6*5*4*3= 360
بعد یه حلقه میسازی که چک کنه تا وقتی تعداد ترکیب ها به 360 تا نرسیده ترکیب های رندوم ایجاد کنه
شاید خیلی بهینه نباشه ولی احتمالا جواب میده !

$stack = ['A', 'B', 'C', 'D', 'E' ,'F'];
$output = [] ;

while(count($output) < 360 )
{
$random = $stack ;
shuffle($random);
unset($random[5]);
unset($random[4]);

$key = implode('' , $random);
if(isset($output[$key])) continue ;
$output[$key] = $random ;
}

var_dump($output);


برنامه نویس...
ما را در سایت برنامه نویس دنبال می کنید

برچسب : نویسنده : محمد رضا جوادیان programers بازدید : 161 تاريخ : يکشنبه 19 آذر 1396 ساعت: 20:25