找女神要QQ號碼
引言
我們組來了個美女程式設計師,我心裡竊喜,哈哈這下機會來了。我在想怎麼下手呢?好吧,還是從QQ號碼開始,找到女神要到QQ號,哈哈,我真是個天才~~~
是這樣子滴
想法是美好的,現實是殘酷的,找女神要QQ號碼的時候,我沒想到女神沒有直接給我,而是給了我出了題(果真是程式設計師的交手~~ ~),題都給我了,做不出來的話,不但沒了和女神的接觸機會,連賴以為生的基本技能-程式設計能力都被質疑了~~~題目是這樣的:
<code>给了一串数字(不是QQ号码),根据下面规则可以找出QQ号码:首先删除第一个数,紧接着将第二个数放到这串数字的末尾,再将第三个数删除,并将第四个数放到这串数字的末尾......如此循环,知道剩下最后一个数,将最后一个数也删除,按照刚才删除的顺序,把这些数字连在一起就是女神的QQ号码啦。</code>
就是這樣,女神給了一串數字631758924,現在要做的就是從這個數字中找出女神的QQ號碼了,方法有很多種,比如說用9張卡片分別寫上這9個數字,模擬題目的過程,可以算出來,也可以用筆一個一個的去算~~~~
這些方法都太low了,顯示不出程式設計師的能力,還是寫個程式比較酷一點(其實我是在想,要是下次再遇到一個女神出這樣的題目,程式就很方便了,哈哈~ ~~)
解決方法
第一種方法,採用數學的方法,根據題目的規律,循環下面的操作:取整=>取餘=>取餘*10+取整。 。 。 。 。取餘取整的物件都是10的倍數,依位數而定,每次取整之後就是一位,循環直到數字等於0。
<code><?php $raw_num = 631758924; $num = 0; $devisor = 1; while($devisor < $raw_num) { $devisor *= 10; //获取最小的大于raw_num的10的倍数的整数 } while ($raw_num > 0) { $devisor /= 10; $next = floor($raw_num / $devisor); //获取下一个数字 $num = $num*10 + $next; //计算”半成品“QQ号码 $raw_num = $raw_num % $devisor; $last = floor($raw_num * 10 / $devisor); //移动数字,拼接最新的QQ号码 $pre = $raw_num % (ceil($devisor / 10)); $raw_num = $pre * 10 + $last; } echo "恭喜你啦,成功获取QQ号码:{$num}"; //恭喜你啦,成功获取QQ号码:615947283</code>
利用佇列的FIFO取得QQ號碼,根據題目的特性,剛好可以使用佇列來處理,佇列簡單方便,而且較好理解。
<code>#include<stdio.h> struct queue { int *data; int head; int tail; }; int main() { int num, i; printf("请输出要破译的QQ号码长度:"); scanf("%d", &num); struct queue q; q.data = (int *)malloc(sizeof(int)*(num*2-1)); //总共需要的数组长度为num*2-1 q.head = 0; q.tail = 0; for(i=1;i<=num;i++) { scanf("%d", &q.data[q.tail]); q.tail++; } printf("恭喜你啦,成功获取QQ号码:"); while(q.head < q.tail) { printf("%d", q.data[q.head]); q.head++; q.data[q.tail] = q.data[q.head]; q.tail++; q.head++; } return 0; } #下面是一个实验 请输出要破译的QQ号码长度:9 6 3 1 7 5 8 9 2 4 恭喜你啦,成功获取QQ号码:615947283请按任意键继续. . .</code>
說點啥
本文點子來自《啊哈!演算法》中的第二章,第一節【解密QQ號-佇列】,唯一的插圖也截取自本書。
微訊號: love_skills
越努力,越幸運!越幸運,越努力!
做上CEO不是夢
贏取白富美不是夢
屌絲逆襲不是夢
就是現在! !加油
以上就介紹了找女神要QQ號碼,包含了方面的內容,希望對PHP教學有興趣的朋友有幫助。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

chkdsk無法供raw驅動器使用的解決方法:1、右鍵底部任務欄Win圖標,在彈出的選單列中點擊“運行”選項;2、在命令列視窗輸入“chkdsk /?”,然後點擊回車鍵確定;3、等待chkdsk工具成功運作即可。

區別:1、head標籤用於定義文檔頭部,它是所有頭部元素的容器,而header標籤用於定義文檔的頁眉(介紹資訊);2、瀏覽器都支援head標籤,而舊版本瀏覽器皆不支援header標籤,需要IE9+以上瀏覽器才能支援header標籤。

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

Laravel中Head請求方法的常見應用場景在Laravel中,HTTP請求方法中的HEAD方法通常被用來取得資源的元資料而不取得實際的內容。 HEAD請求和GET請求類似,但是不回傳實際的回應主體內容,只回傳回應頭資訊。這使得HEAD請求在一些特定的場景下非常有用,以下是一些常見的應用場景和相應的程式碼範例。驗證連結的有效性使用HEAD請求方法可以用於驗證鏈

linux raw是原始資料格式,在linux中表示“裸設備”,也稱為裸分割區、原始分割區;linux raw是一種沒有經過格式化,不被Unix/Linux通過檔案系統來讀取的特殊字元裝置;裸設備可以綁定一個分割區,也可以綁定一個磁碟。

RAW是未經處理、也未經壓縮的格式,可以把RAW概念化為「原始影像編碼資料」或更形象的稱為「數位底片」。 RAW格式檔案是一種記錄了數位相機感測器的原始訊息,同時記錄了由相機拍攝所產生的一些元資料(Metadata,如ISO的設定、快門速度、光圈值、白平衡等)的檔案。

raw照片是指未經處理、也未經壓縮的照片格式;因為raw的原意就是“未經加工”,可以理解為“RAW影像就是CMOS或CCD影像感應器將捕捉到的光源訊號轉換為數位訊號的原始數據」。

raw格式和jpg格式區別有:1、JPEG是一種被廣泛使用的有損壓縮格式,而RAW格式是一種無損的圖像格式;2、JPEG格式的圖像檔案小巧,而RAW格式的檔案較大;3、JPEG格式的影像只能進行有限的後製處理,而RAW格式的影像保留了更多的細節和色彩訊息,使您能夠在後期處理中做出更多的調整。
