|
|
|
|
|
для: Valick
(21.02.2013 в 00:48)
| | Valick спасибо еще раз, будем алгоритмическое мышление развивать)) | |
|
|
|
|
|
|
|
для: Северьян
(21.02.2013 в 00:36)
| | Учиться это хорошо, вот откопал алгоритм столько лет прошло, а я его часто вспоминаю
http://softtime.ru/forum/read.php?id_forum=1&id_theme=57979
задача интересная
попробуйте реализовать
там конечно в конце есть мой вариант, но его не обязательно сразу подглядывать :)
____
есть еще не менее интересная, но немного более сложная задача
http://softtime.ru/forum/read.php?id_forum=3&id_theme=85595
имненно на таких достаточно специфических задачах и тренируется логика | |
|
|
|
|
|
|
|
для: Valick
(21.02.2013 в 00:30)
| | Спасибо, Valick, за ссылку. Будем учиться... | |
|
|
|
|
|
|
|
для: Исильдур
(21.02.2013 в 00:15)
| | я бы может и додумался, а может и другой вариант "родил"
хотя применить целочисленное деление была мысль | |
|
|
|
|
|
|
|
для: Северьян
(21.02.2013 в 00:23)
| | гугл первый помошник :)
Блог Вячеслава Волкова
Хотя я думаю и Вячеслав тоже не автор этого варианта
и только потом мозг ;) | |
|
|
|
|
|
|
|
для: Valick
(21.02.2013 в 00:08)
| | Рука опытного - налицо. Нам учиться и учиться... Э-е-х.. | |
|
|
|
|
|
|
|
для: Valick
(20.02.2013 в 23:52)
| | Приношу свои извинения. Я только учусь... Тогда как-то так:
<?php
function myfunc($int) {
settype($int,"string");
$end_char = substr($int,-1,1);
$count = strlen($int);
if($count >= 2) {
$dec_char = $int[$count - 2];
if($dec_char == '1') {
$end_word = 'тов';
}
else {
switch($end_char) {
case '1': $end_word = 'т'; break;
case '2': $end_word = 'та'; break;
case '3': $end_word = 'та'; break;
case '4': $end_word = 'та'; break;
default: $end_word = 'тов';
}
}
}
if($count == 1) {
switch($end_char) {
case '1': $end_word = 'т'; break;
case '2': $end_word = 'та'; break;
case '3': $end_word = 'та'; break;
case '4': $end_word = 'та'; break;
default: $end_word = 'тов';
}
}
return $int . ' программис' . $end_word;
};
echo myfunc(121);
?>
|
| |
|
|
|
|
|
|
|
для: Valick
(21.02.2013 в 00:08)
| | Большое Спасибо!
Мне бы пожалуй до такого было не додуматься)) | |
|
|
|
|
|
|
|
для: Исильдур
(20.02.2013 в 23:54)
| |
function NumberEnd($number, $titles) {
$cases = array (2, 0, 1, 1, 1, 2);
return $titles[ ($number%100>4 && $number%100<20)? 2 : $cases[min($number%10, 5)] ];
}
$a = 12;
echo $a.' программист'.NumberEnd($a, array('','а','ов'));
|
| |
|
|
|
|
|
|
|
для: Северьян
(20.02.2013 в 23:04)
| | Спасибо за предоставленное решение, но и оно не работает должным образом)) При передаче числа 22 результат:
Notice: Undefined variable: end_word in /var/www/index.php on line 47 22 программис
|
Завтра попробую еще порешать на свежую голову. | |
|
|
|
|