| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > попарное суммирование цифр числа |
| Автор: APro 24.12.2008, 08:37 | ||||
Представим есть ряд чисел:
нужно разбить это число на отдельно 9, 2, 5, 6 и т.д. и после складывать первое со вторым, второе с третьим. (9+2, 2+5, 5+6 и т.д.), но если сумма есть двух значное число, то записываем только единицы. (например если 12, то нужно записать только 2) и в итоге должно получиться:
У кого какие идеи есть, чтобы это посчитать? |
| Автор: SneG0K 24.12.2008, 08:50 |
| А ты обьясни в чем сложность? Ты не можеш строку на числа разобрать? Или тебе не хочется самому писать? |
| Автор: APro 24.12.2008, 10:44 |
| Хорошо, я сейчас попробую в 100-ый раз сам, и если не получится, покажу код, а Вы попробуете объясняить где там ошибка .... |
| Автор: ТоляМБА 24.12.2008, 10:54 | ||
|
| Автор: _zorn_ 24.12.2008, 11:02 |
| deleted |
| Автор: DeamonShan 24.12.2008, 11:08 | ||
_zorn_, в твоем случае, если сумма будет ровняться 10, условие не выполнится... поэтому думаю
из условия, $sum больше 10-ти будет! |
| Автор: ТоляМБА 24.12.2008, 11:16 |
| DeamonShan, блин, точно, а я наоборот из 10 вычитал - вот откуда минусы то и шли |
| Автор: Рыжий 24.12.2008, 11:38 | ||
Тоже вариант:
Это же можно реализовать через array_walk() или другие циклы - сколько фантазии хватит. Еще не помешало бы добавить проверку на символы. Например $s может быть = "85475d s59-%$". |
| Автор: theworldcreator 24.12.2008, 13:43 | ||||
Приведение к int:
|
| Автор: Рыжий 24.12.2008, 14:18 | ||
| theworldcreator, При таком подходе, все знаки будут превращаться в 0, что даст ложные результаты. Имхо нужно проверять заранее:
|
| Автор: gibbzy 24.12.2008, 14:41 | ||
в чём проблема string есть массив из char
это глупость a php очень лояльная штука для преобразования переменных из одного типа в другой |
| Автор: theworldcreator 24.12.2008, 16:47 |
| Рыжий Я имел ввиду изначально вместо проверки на "циферность" просто привести к int. Если это не число, из него получится ноль, а я думаю чувак, который пытается скормить ей(функции) текст не дебил и сам все поймет(без сообщения об ошибки). |
| Автор: APro 24.12.2008, 18:07 |
| Спасобо ВСЕМ |