什麼是數學:驗證電話號碼的演算法
在 http://lqisabella.blog.sohu.com/6359613.html 看到的文章前些天在百度的貼吧裡也見過,其實沒有什麼神奇的元素,其本質就是初等算術。
讓我們設一個電話號碼AB,其前半部分表示為A,依照北京電信的安排,A是四位正整數,而B同樣為四位正整數。這樣,按照原文提供的演算法,我們一步一步地做了運算:((80*A+1)*250+B+B-250)/2。上式合併同類項,可表示為10000A+B。分析結果我們可以得出的是:其運算的本質是將一個正整數擴大10000倍,使其後四位為0,再加上一個四位正整數而最終得到結果。從而我們可以拓展思想,其運算準確與否與B的位數有直接關係,即B必須為四位正整數,而對A沒有特殊限制。而中國的電話號碼多為8或7位,文中提到的取前三位實際上是為了保證後半部分為四位。
結論:一個N(N>=5)位數,若取其末尾四個數字為一個新數作為B,剩餘部分為另一個新數作為A,則原數為((80*A+1)*250+B+B-250)/2
推論:一個N(N>=5)位數,不論從哪個部位將其切割為兩個新數A、B,總有正整數n使得原數可表示為((80*n*A+1)*250+B+B-250)/2
那位同學有興趣可以證明一下推論嘛。
相關推薦
什麼是數學:驗證電話號碼的演算法
在 http://lqisabella.blog.sohu.com/6359613.html 看到的文章前些天在百度的貼吧裡也見過,其實沒有什麼神奇的元素,其本質就是初等算術。讓我們設一個電話號碼AB,其前半部分表示為A,依照北京電信的安排,A是四位正整數,而B同樣為四位正整
Java 圖形化實現一個驗證電話號碼是否合法的程式
package com.wxj; import java.awt.EventQueue; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton;
LeetCode:17. 電話號碼的字母組合
1、題目描述 給定一個僅包含數字 2-9 的字串,返回所有它能表示的字母組合。 給出數字到字母的對映如下(與電話按鍵相同)。注意 1 不對應任何字母。 示例: 輸入:"23" 輸出:["ad", "ae", "af", "bd", "be", "bf", "cd",
W3Cschool高階指令碼演算法(1.判斷電話號碼演算法挑戰)
判斷電話號碼演算法挑戰 問題: 如果傳入字串是一個有效的美國電話號碼,則返回 true. 要求: telephoneCheck("555-555-5555") 應該返回一個布林值. telephoneCheck("1 555-555-5555") 應該返回 true
[LeetCode] Valid Phone Numbers 驗證電話號碼
Given a text file file.txt that contains list of phone numbers (one per line), write a one liner bash script to print all valid phone numbers. You may a
離散數學:驗證P,Q兩個邏輯表示式是否邏輯等價(C語言實現)
一、程式通過編譯,並實現兩個命題的各種邏輯運算 二、任意輸入字串P和Q邏輯表示式的合法性檢查 三、利用真值表方法驗證他們的等價性 一、演算法分析 ① 求任意一個命題公式的真值表,,根據真值表驗證他們的等價性 C語言演算法: 首先是輸入一個合理的式子,然後從式子中查找
android驗證電話號碼工具類
import android.content.Context; import android.text.TextUtils; import android.widget.Toast; /** *
easyui 正則驗證電話號碼的簡單例子
<script type="text/javascript"> $.extend($.fn.validatebox.defaults.rules, { phoneNum: { //驗證手機號 validator: funct
C# 中使用正則表示式驗證電話號碼、手機號、身份證號
驗證電話號碼的主要程式碼如下: public bool IsTelephone(stringstr_telephone) { returnSystem.Text.RegularExpressions.Regex.IsMatch(str_telephone,@
C#中使用正則表示式驗證電話號碼、手機號、身份證號(轉)
驗證電話號碼的主要程式碼如下: public bool IsTelephone(stringstr_telephone) { returnSystem.Text.RegularExpressions.Regex.IsMatch(str_telephone,@"^(\d{3,4}-)?\d
前端演算法: 電話號碼的字母組合
給定一個僅包含數字 2-9 的字串,返回所有它能表示的字母組合。 給出數字到字母的對映如下(與電話按鍵相同)。注意 1 不對應任何字母。 示例: 輸入:"23" 輸出:["ad", "ae", "af", "bd", "be", "bf
LeetCode演算法題17:電話號碼的字母組合解析
給定一個僅包含數字 2-9 的字串,返回所有它能表示的字母組合。 給出數字到字母的對映如下(與電話按鍵相同)。注意 1 不對應任何字母。 示例: 輸入:"23" 輸出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].
js手機號碼、電話號碼驗證
phone mob == reg 註意 () func var 而不是 function checkNum(){ var mobileReg = /^(13[0-9]|14[0-9]|15[0-9]|17[0-9]|18[0-9])\d{8}$/i; var phoneRe
java 驗證手機號碼、電話號碼(包括最新的電信、聯通和移動號碼)
-s 轉義 電信號 auth input sim pem csharp class 一、目前的號碼段(2017-06-01更新) 二、代碼 package com.linbilin.test; import java.util.regex.Pattern;
Python實踐練習:電話號碼和 E-mail 地址提取程序
system 剪切板 http con cisco jobs 什麽 python3 sts 題目: 假設你有一個無聊的任務,要在一篇長的網頁或文章中,找出所有電話號碼和郵件地址。如果手動翻頁,可能需要查找很長時間。如果有一個程序,可以在剪貼板的文本中查找電話號碼和 E-ma
業余草 Java正則表達式,驗證手機號和電話號碼
當前 包括 SM 調用 system param term obi erl Java 正則表達式 正則表達式定義了字符串的模式。 正則表達式可以用來搜索、編輯或處理文本。 正則表達式並不僅限於某一種語言,但是在每種語言中有細微的差別。 正則表達式實例 一個字符串其
Leetcode篇:電話號碼的字母組合
length ati har 電話 soft 註意 == 一個 思路 @author: ZZQ @software: PyCharm @file: letterCombinations.py @time: 2018/10/18 18:33 要求:給定一個僅包含數字 2-9
php正則表達式驗證(郵件地址、Url地址、電話號碼、郵政編碼)
規則 main .com als url地址 host name fun ipc 1、電子郵件地址的校驗 <?php /* 校驗郵件地址*/ function checkMail($email) { //用戶名,由“w”格式字符、“-”或“.”組成 $email_n
牛客網線上程式設計(四):電話號碼分身-python
題目描述 繼MIUI8推出手機分身功能之後,MIUI9計劃推出一個電話號碼分身的功能:首先將電話號碼中的每個數字加上8取個位,然後使用對應的大寫字母代替 ("ZERO", "ONE", "TWO", "THREE", "FOUR", "FIVE", "SIX", "SEVEN", "EIGH
正則表示式驗證合法電話號碼
中國移動:134/135/136/137/138/139/150/151/152/157/158/159/182/183/184/187/188/147/178/1705 中國聯通:130/131/132/155/156/185/186/145/175/176/1709