Büyükbaba ve Büyükanneler Günü'nüzde, böyle bir çevirmeli kadran ile bir telefon numarasının aranması yapıldı :
Her basamağı çevirmek için parmağınızı karşılık gelen deliğe sokun, parmağınızı sonuna kadar çekin ve bırakın. Bir mekanizma, kadranın dinlenme pozisyonuna geri dönmesine neden olur ve telefon, sesli bir tıklama yaparak bir devreyi belirli sayıda keser ve yeniden bağlar.
N rakamını çevirmek, N = 0 dışında N darbeleri gibi N darbeleri gerektirir .
Döner telefonlar, büyük rakamların (8, 9, 0) küçük rakamlardan (1, 2, 3) arama yapmak için daha uzun sürdüğü özelliğine sahiptir. Bu, erken bölge kodu haritalarının hazırlanmasında ve New York'un yoğun nüfus (ve telefon hattı) yoğunluğu ile neden 212 (sadece 5 atış) elde ederken, 907 (26 atış) seyrek olarak Alaska'ya gitti. Tabii ki, bu tuşlu arama popüler hale geldiğinde, tüm bunlar önemsiz hale geldi.
Meydan okuma
Bir telefon numarası içeren bir dize (ya da karakter dizisi) girişi kadar alan ve döner çevirme darbesi sayısını veren bir program ya da işlevi mümkün olduğu kadar az bayt yazın. Bunlar aşağıdaki gibi sayılmalıdır:
Rakamlar
- 1-9 arasındaki rakamlar bu darbe sayısı olarak sayılır.
- Rakam 0, 10 pals olarak sayılır.
harfler
Kadran üzerindeki 2-9 rakamlarının, bunlarla ilişkili Latin alfabesinin harfleri olduğuna dikkat edin. Bunlar başlangıçta adlandırılmış değiş tokuşlar için tasarlanmıştı , ancak sonuncusu ses telleri ve metin mesajı giriş sistemleri için yeniden tahsis edildi .
E.161 rakamlarına harf atamasını kullanarak, telefon numaralarınızda harf bulundurmayı desteklemelisiniz :
- A, B, C = 2
- D, E, F = 3
- G, H, I = 4
- J, K, L = 5
- M, N, O = 6
- P, Q, R, S = 7
- T, U, V = 8
- W, X, Y, Z = 9
Girişin, büyük / küçük harf olarak zaten büyük / küçük harf katlandığını varsayabilirsiniz.
Diğer karakterler
Sen gerekir karakterlerin keyfi kullanımına izin ()+-./
biçimlendirme Ayırıcı olarak ve uzay. Sen olabilir izin seçti herhangi bunu uygulamak kolay olacaksa, bu amaçla alfanümerik olmayan karakter.
Bu karakterler nabız sayımına katkıda bulunmaz.
Örnek kod
Python'da golf oynamayan bir arama tablosu ve işlevi:
PULSES = {
'1': 1,
'2': 2, 'A': 2, 'B': 2, 'C': 2,
'3': 3, 'D': 3, 'E': 3, 'F': 3,
'4': 4, 'G': 4, 'H': 4, 'I': 4,
'5': 5, 'J': 5, 'K': 5, 'L': 5,
'6': 6, 'M': 6, 'N': 6, 'O': 6,
'7': 7, 'P': 7, 'Q': 7, 'R': 7, 'S': 7,
'8': 8, 'T': 8, 'U': 8, 'V': 8,
'9': 9, 'W': 9, 'X': 9, 'Y': 9, 'Z': 9,
'0': 10
}
def pulse_count(phone_num):
return sum(PULSES.get(digit, 0) for digit in phone_num)
Örnek giriş ve çıkış
911
→ 11867-5309
→ 48713 555 0123
→ 42+1 (212) PE6-5000
→ 571-800-FLOWERS
→ 69PUZZLES
→ 48
*
ve #
tuşlu telefonlarda özel anlamlar ve dönel kavĢaktan üzerinde çevrilebilir bir değil, hangi.
+- ()*#.
) gibi kullanılan harflerle, harflerin büyük harflerle sınırlı olmasıyla sınırlı olduğunu kabul ediyorum . Yanlışsam düzelt.