目次
自己紹介
これです
解決策
何か言ってください
ホームページ バックエンド開発 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つの数字をそれぞれカードに書いて、問題のプロセスをシミュレーションすることもできますし、ペンを使って1つずつ計算することもできます~~~~

これらの方法は低すぎて、能力を示しません。プログラマーの場合は、プログラムを書いたほうがカッコいいでしょう(実際、今度こんな質問をする女神に出会ったら、とても便利なプログラムになると思います、笑〜〜〜)

解決策

1つ目の方法。数学的手法を使用し、質問のルールに従って次の演算を繰り返すことです: 四捨五入 => 剰余 => 剰余 * 10 + 四捨五入。 。 。 。 。剰余丸めの対象はすべて 10 の倍数であり、各丸めの桁数に応じて 1 桁になり、数値が 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>
ログイン後にコピー

何か言ってください

この記事のアイデアは「ああ!」から来ています。 『アルゴリズム』の第 2 章第 1 節 [QQ 番号の解読 - キュー] の唯一の図も本書から引用しています。


WeChat ID: love_skills

一生懸命働けば働くほど、あなたはもっと幸運になります!幸運であればあるほど、一生懸命働くことになります。

CEOになることも夢じゃない

バイ・フメイに勝つことも夢ではない

ディシの反撃も夢ではない

今だ! !さあ
女神からのQQナンバーを求めて

上記では、女神に QQ 番号を求める方法を、関連する側面も含めて紹介しました。PHP チュートリアルに興味のある友人に役立つことを願っています。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

raw ドライブで chkdsk を使用できない場合はどうすればよいですか? raw ドライブで chkdsk を使用できない場合はどうすればよいですか? Mar 06, 2023 pm 03:27 PM

raw ドライブで chkdsk を使用できない問題の解決策: 1. 下部のタスクバーの Win アイコンを右クリックし、ポップアップ メニュー バーの [ファイル名を指定して実行] オプションをクリックします; 2. 「chkdsk /?」と入力します。コマンド ライン ウィンドウで Enter キーをクリックして確認します ;3. chkdsk ツールが正常に実行されるまで待ちます。

html5タグのヘッドとヘッダーの違いは何ですか? html5タグのヘッドとヘッダーの違いは何ですか? Jan 17, 2022 am 11:10 AM

相違点: 1. head タグは、すべての head 要素のコンテナであるドキュメントの先頭を定義するために使用され、header タグはドキュメントのヘッダー (紹介情報) を定義するために使用されます; 2. すべてのブラウザは、 head タグと古いバージョンのブラウザ どのブラウザも header タグをサポートしていません。header タグをサポートするには、IE9 以降などのブラウザが必要です。

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 で「ベア デバイス」を意味する raw データ形式であり、ベア パーティションや raw パーティションとも呼ばれます。linux raw は、フォーマットされておらず、ファイル システムを介して Unix/Linux で読み取ることができない特殊文字デバイスです。 RAW デバイスはパーティションまたはディスクにバインドできます。

rawの形式は何ですか? rawの形式は何ですか? Feb 01, 2023 pm 01:43 PM

RAW は、未処理かつ非圧縮の形式であり、「元の画像エンコード データ」、またはより鮮明に「デジタル ネガ」として概念化できます。 RAW形式ファイルは、デジタルカメラのセンサー本来の情報を記録するとともに、カメラ撮影により生成される一部のメタデータ(ISO設定、シャッタースピード、絞り値、ホワイトバランスなどのメタデータ)を記録するファイルです。

生写真ってどういう意味ですか? 生写真ってどういう意味ですか? Jan 12, 2021 am 11:05 AM

raw写真とは、未加工・非圧縮の写真形式のことを指しますが、rawの本来の意味は「未加工」であるため、「RAW画像とは、CMOSやCCDイメージセンサーで捉えた光源信号をデジタル信号に変換したもの。オリジナルのデータ」と理解できます。

raw形式とjpg形式の違いは何ですか? raw形式とjpg形式の違いは何ですか? Aug 10, 2023 pm 03:31 PM

RAW 形式と jp​​g 形式の違いは次のとおりです: 1. JPEG は広く使用されている非可逆圧縮形式であるのに対し、RAW 形式は可逆画像形式です; 2. JPEG 形式の画像ファイルは小さいのに対し、RAW 形式ファイルは大きいです; 3. 形式の画像JPEG 形式では限られた後処理しか実行できませんが、RAW 形式の画像ではより多くの詳細と色情報が保持されるため、後処理でより詳細な調整を行うことができます。

See all articles