目錄
引言
是這樣子滴
解決方法
說點啥
首頁 後端開發 php教程 找女神要QQ號碼

找女神要QQ號碼

Aug 08, 2016 am 09:22 AM
head quot raw

引言

我們組來了個美女程式設計師,我心裡竊喜,哈哈這下機會來了。我在想怎麼下手呢?好吧,還是從QQ號碼開始,找到女神要到QQ號,哈哈,我真是個天才~~~

是這樣子滴

想法是美好的,現實是殘酷的,找女神要QQ號碼的時候,我沒想到女神沒有直接給我,而是給了我出了題(果真是程式設計師的交手~~ ~),題都給我了,做不出來的話,不但沒了和女神的接觸機會,連賴以為生的基本技能-程式設計能力都被質疑了~~~題目是這樣的:

<code>给了一串数字(不是QQ号码),根据下面规则可以找出QQ号码:首先删除第一个数,紧接着将第二个数放到这串数字的末尾,再将第三个数删除,并将第四个数放到这串数字的末尾......如此循环,知道剩下最后一个数,将最后一个数也删除,按照刚才删除的顺序,把这些数字连在一起就是女神的QQ号码啦。</code>
登入後複製

找女神要QQ號碼

就是這樣,女神給了一串數字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號碼

以上就介紹了找女神要QQ號碼,包含了方面的內容,希望對PHP教學有興趣的朋友有幫助。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

chkdsk無法供raw驅動器使用怎麼辦 chkdsk無法供raw驅動器使用怎麼辦 Mar 06, 2023 pm 03:27 PM

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

html5標籤head和header有什麼差別 html5標籤head和header有什麼差別 Jan 17, 2022 am 11:10 AM

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

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

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

Laravel中Head請求方法的常見應用場景 Laravel中Head請求方法的常見應用場景 Mar 06, 2024 pm 09:33 PM

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

linux raw是什麼格式 linux raw是什麼格式 Mar 14, 2023 am 09:33 AM

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

raw是什麼格式 raw是什麼格式 Feb 01, 2023 pm 01:43 PM

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

raw照片是什麼意思 raw照片是什麼意思 Jan 12, 2021 am 11:05 AM

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

raw格式和jpg格式有什麼差別 raw格式和jpg格式有什麼差別 Aug 10, 2023 pm 03:31 PM

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

See all articles