Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Эм... вопрос для математиков... (https://forum.antichat.xyz/showthread.php?t=111599)

rcc0023 17.03.2009 15:51

Эм... вопрос для математиков...
 
АТВ шкала.

а[17.8] - б[14] - в[10] - г[10] - д[10] - е[9.5] - ж[8.5] - з[8.5]

В скобках инициатива вывода букв. Буквы выводятся по кругу исходя из инициативы и очередности.

Пример начального вывода:
1. а
2. б
3. в
4. г
5. д
6. е
7. а
8. ж
9. з
10. б

А как прочитать остальную последовательность вывода??

Pashkela 17.03.2009 16:12

вот мегарешение, именно по твоему вопросу:

http://s52.radikal.ru/i137/0903/d4/7def01f4e241.jpg

Gifts 18.03.2009 00:51

rcc0023 Недостаточно данных. Что значит выводятся исходя из инициативы? Какая именно зависимость? Или продолжите ряд хотя бы до 20 позиции

scrat 18.03.2009 00:53

я нихуя не понял. Ты неточно описал задачу.

-Hormold- 18.03.2009 01:06

PHP код:

<?
$str
="а[17.8] - б[14] - г[10] - д[10] - ж[8.5] - з[8.5] - в[10] - е[9.5]";
$ex=explode(" - ",$str);
for(
$i=0;$i<count($ex);$i++){
    list(
$symb,$proc)=explode("[",$ex[$i]);
    
$proc=str_replace("]","",$proc);
    
$o[$proc]=$symb;
}
asort($o);
print_r($o);
?>

Попробуй...

imajo.ati 18.03.2009 01:23

я так понял буква а заменила букву ё пропущенную в последовательности. значит дальше пойдёт так:
1. а
2. б
3. в
4. г
5. д
6. е
7. а
8. ж
9. з
10. б
11. в
12. г
13. д
14. е
15. б
16. ж
17. з
18. в
19. г
20. д
21. е
22. в
23. ж
24. з
25. г
26. д
27. е
28. г
29. ж
30. з
31. д
32. е
33. д
34. ж
35. з
36. е
37. е
38. ж
39. з
40. а
41. б
42. в
43. г
44. д
45. е
46. ж
47. ж
48. з
49. б

но дальше идёт не сначала а со смещением на 1 букву

Gifts 18.03.2009 01:57

Скрипт получается такой, в переменной C - количество кругов, $arr - массив инициатив, равные инициативы - объединяем в один ключ
PHP код:

<pre><?
$c
=5;
$arr=array('a' => 17.8'b' => 14'c,d,e' => 10'f' => 9.5'g,h' => 8.5);
foreach (
$arr as $i=>$val)
{
    
$arr[$i]=1000000000/$val;
    for (
$j=1;$j<$c;$j++)
    {
        
$tmp=$arr[$i]*$j;
        
$outvar[$tmp]=$i;
    }
}

ksort($outvar,SORT_NUMERIC);
echo 
strtr(implode(',',$outvar),'abcdefgh,',"абвгдежз\n");

?>

Код:

а,б,в,г,д,е,а,ж,з,б,а,в,г,д,е,б,а,ж,з,б,в,г,д,е,ж,з,в,г,д,е,ж,з

rcc0023 18.03.2009 06:18

Pashkela неудачно пошутил =/ Алфавит тут и рядом не лежит...

Gifts, прямо в точку! Правда плюс тебе не ставится... =((

Pashkela 18.03.2009 06:19

Да я вообще чужой на этом празднике жизни:)

ЗЫЖ Без обид

rcc0023 18.03.2009 07:34

Gifts, а если взять за основу - ход за определенный промежуток...
То есть так, чтобы можно было вычислить что выводить на 13,14... с использованием динамической инициативы...

В пример:

Шаг - это последовательный вывод букв (1,2,3,4,5....70,71,72...)
Промежуток - самая большая инициатива (17.8)
Ходка - при достижении макс числа - ход

Инициативу каждой буквы (17.8,14,10,10...8.5) делим на промежуток (17.8), полученные число записываем как 'столько раз выведется буква' (назовем ее HODmax) за промежуток 17.8!
Далее вводим такое понятие как ходка, при достижение HODmax происходит ход данного числа. Одно но, нужно найти сколько к данной ходке должно прибавятся за каждый шаг.


Время: 13:08