Итеративный алгоритм для Fibonacci, потому что для меня это закрепило то, что самый изящный код (в этом случае, рекурсивная версия) является не обязательно самым эффективным.
Для разработки - "выдумка (10) = выдумка (9) + выдумка (8)" подход означает, что выдумывают (9), будет оценен для выдумывания (8) + выдумка (7). Таким образом, оценка выдумки (8) (и для этого fib7, fib6) будет все оценена дважды.
повторяющийся метод, (воркуют = prev1 + prev2 в forloop) не делает дерева этот путь, и при этом это не берет в качестве большой памяти, так как это - только 3 переходных переменные вместо кадров n в стопке рекурсии.
я склонен бороться за простой, изящный код, когда я программирую, но это - алгоритм, который помог мне понять, что это не end-all-be-all для записи хорошего программного обеспечения, и что в конечном счете конечные пользователи не заботятся, как Ваш код смотрит.
Согласно API, ACTION_CALL будет делать то, что вам нужно, но не для номеров службы экстренной помощи, а ACTION_DIAL отобразит номеронабиратель с подсказкой набора, но позволяет звонить на номера службы экстренной помощи.
Боюсь, что у вас нет возможности делать то, что вы хотите, по уважительной причине - предотвратить неправильный набор номера в службы экстренной помощи. Это мера предосторожности.