Zadejte hledaný výraz...

Vypsání kombinací

paranps2
verified
rating uzivatele
16. 7. 2014 10:46:32
Zdravím, nezná někdo nějaky program nebo funkci která by mi dokázala vypsat 13³ = 2197 kombinaci, čili všechny kombinace .
Přiklad:
1201021020121
1222000111201
0022122100212
1210021022112
.....
16. 7. 2014 10:46:32
https://webtrh.cz/diskuse/vypsani-kombinaci/#reply1040012
Default
verified
rating uzivatele
(94 hodnocení)
16. 7. 2014 15:01:01
Nepochopil jsem nějak co přesně chceš dělat, ale určitě by to šlo udělat v hodně jazycích, např. PHP a ukládat všechny kombinace do souboru.
16. 7. 2014 15:01:01
https://webtrh.cz/diskuse/vypsani-kombinaci/#reply1040011
paranps2
verified
rating uzivatele
16. 7. 2014 16:23:36
Takhle mám 13 otázek a u každé 3 odpovědi a,b,c
1.a
2.c
3.a
4.b
5.a
6.b
7.c
8.c
9.a
10.b
11.c
12.a
13.a
Čili prvni kombinace je acababccabcaa
Druha bude treba abbcabcbacbba
A ted potřebuju vypsat tech dalsich 2196 kombinaci
Pokud by to někdo zvladl dejte vědět , odměna je jistá.
16. 7. 2014 16:23:36
https://webtrh.cz/diskuse/vypsani-kombinaci/#reply1040010
Apik
verified
rating uzivatele
16. 7. 2014 17:05:17
Bude stačit tohle? :)
Edit fiddle - JSFiddle
Ha, teď mi došlo, že je to kapku něco jiného :-) Tak později :)
16. 7. 2014 17:05:17
https://webtrh.cz/diskuse/vypsani-kombinaci/#reply1040009
petrnson
verified
rating uzivatele
(5 hodnocení)
16. 7. 2014 17:19:08
Těch kombinací je mnohem více, konkrétně 3^13, respektive 1 594 323. Šikovný skript je třeba https://gist.github.com/fabiocicerchia/4556892, ale při tolika kombinacích se mi to nepodařilo vygenerovat.
16. 7. 2014 17:19:08
https://webtrh.cz/diskuse/vypsani-kombinaci/#reply1040008
Default
verified
rating uzivatele
(94 hodnocení)
16. 7. 2014 17:23:02
Je jich totiž 3^13 a ne 13^3 :) ale už to mám, nejdřív sem si myslel že to mám špatně ale fakt jich má být 1 594 323
16. 7. 2014 17:23:02
https://webtrh.cz/diskuse/vypsani-kombinaci/#reply1040007
Apik
verified
rating uzivatele
16. 7. 2014 17:23:40
Yep, to je to co jsem přehlédnul :-)
Stačí v tom form cyklu (na řádku 8) vyměnit za
16. 7. 2014 17:23:40
https://webtrh.cz/diskuse/vypsani-kombinaci/#reply1040006
Fido123
verified
rating uzivatele
(13 hodnocení)
16. 7. 2014 18:23:44
No a není boha, aby to nevyšlo.
16. 7. 2014 18:23:44
https://webtrh.cz/diskuse/vypsani-kombinaci/#reply1040005
Pro zábavu řešení pomocí generátoru v PHP (potřebuje tedy PHP <5.5).
Využívám toho, že první kombinace je 0 a poslední 3^13 - 1.
Čísla převedu z desítkové na trojkovou soustavu (tři různé odpovědi) a pak čísla přeložím na písmena.
Funguje pro libovolné počty otázek a možných odpovědí. Díky generátoru má konstantní nárok na paměť, ale může zahltit okno prohlížeče.
function possibleAnswers( $choiceCount = 3, $questionCount = 13 ) {
$combinationCount = pow($choiceCount, $questionCount);
for( $i = 0; $i < $combinationCount; $i++ ) {
$customBase = base_convert($i, 10, $choiceCount);
$padded = str_pad($customBase, $questionCount, '0', STR_PAD_LEFT);
$translated = join('', array_map(function($char) {
return chr(ord($char) + 49); // 0 becomes 'a' etc.
}, str_split($padded)));
yield $translated;
}
return;
}
foreach( possibleAnswers() AS $combination ) {
echo $combination . '
';
}
16. 7. 2014 18:43:44
https://webtrh.cz/diskuse/vypsani-kombinaci/#reply1040004
Pro odpověď se přihlašte.
Přihlásit