ホームページ バックエンド開発 PHPチュートリアル ああ、絡み合った 3 つの数字の物語。

ああ、絡み合った 3 つの数字の物語。

Jun 13, 2016 pm 01:23 PM
arr array split

ああ、3 つの数字の絡みの話…
ふふ、またクリックベイトが来ましたね。ところで、友人から「3つの数字が順番に並んでいるかどうかをどうやって判断するのですか?」という質問がありました。例えば、123 321 456 654 465...901 901 019

つまり、数値に基づいて、3つの数字がつながっているメンバーであるかどうかを判断します

私の考えは、それを分割することですまず一番小さい数字を3つ取得し、残りの2つが入っているかどうかを判定します
例えば、321は1を取得し、23が存在するかどうかを判定します。

特殊な901は、判定用の配列を直接定義して、0が入っているかどうかを判定するのですが、9と1が入っているかどうかを判定するのであれば…(012はここで除外する必要があるかもしれません)

って感じでしょうか。他に簡単な方法はありますか?



-----解決策---------------------------- ----
はい 1つずつ判断して、例えば1つが234なら2を取り出し、2桁目が3か1で増えているのか減っているのかを記録すれば再帰的にできます。次の n 桁を判断します。複数の数字を判断するのに適しています。
------解決策------------------
私のアイデアは次のとおりです: 真の対数だけです (笑) :
それを直接インターセプトして配列に入れます。次に、配列を小さい順と大きい順に並べ替えて、中央の数値を取得し、両側の数値と比較します。

------解決策------------------
1 つ考えてみましょう。019 の特殊なケースの合計は 10、その他のケースの合計は中央の数字 * 3 です。コードは次のとおりです:
PHP コード
関数 foo($s){ $arr=str_split($s); if(in_array('9',$arr)) return (array_sum($arr)==10) ; ソート($arr,SORT_NUMERIC); return array_sum($arr)==$arr[1]*3; } var_dump(foo('019')); //bool(true) var_dump(foo('243')); //bool(true)

------解決策------------------<br><font color="#e78608">
一般に、$n の場合、$n∈{123 321 456 654 465 ..}</font> は次のようにすることができます: <br>$t = str_split($n);<br>if( array_sum($t) == (リセット($t)+end($t))*count($t)/2 ) echo 'ok';<br><br>しかし、901 と 109 を連続したものとして識別するのは一般的な理解を超えています
<br><br>-----解決策---------<br><font color="#e78608">加算・分割できるとは判断できないby 3. たとえば、258..
</font><br>------解決策------------------<br><font color="#e78608">
</font>PHP コード<br>
$temp = '0123456789 089 019';
$samples = array(123, 321, 456, 654, 465, 901, 109, '019', 890, 908, 135, 250);
foreach ( $samples as $value ) {
    $ds = str_split( $value );
    ソート( $ds );
    $ds = implode( '', $ds );
    $result = ( strstr( $temp, $ds ) !== false ) ?
    echo "{$value} - {$ds} : {$result}<br>";
ログイン後にコピー
ログイン後にコピー
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

C# の Array.Sort 関数を使用して配列を並べ替える C# の Array.Sort 関数を使用して配列を並べ替える Nov 18, 2023 am 10:37 AM

タイトル: Array.Sort 関数を使用して C# で配列を並べ替える例 本文: C# では、配列は一般的に使用されるデータ構造であり、多くの場合、配列を並べ替える必要があります。 C# には Array クラスが用意されており、このクラスには配列を簡単に並べ替えるための Sort メソッドがあります。この記事では、C# で Array.Sort 関数を使用して配列を並べ替える方法を示し、具体的なコード例を示します。まず、Array.Sort 関数の基本的な使用法を理解する必要があります。 Array.So

Java String での Split メソッドの使用方法 Java String での Split メソッドの使用方法 May 02, 2023 am 09:37 AM

String の Split メソッドは、String の Split() メソッドを使用して、受信する文字または文字列に従って String を分割し、分割された配列を返します。 1. 一般的な使用法 @ や区切り文字などの一般的な文字を使用する場合: Stringaddress="Shanghai@Shanghai City@Minhang District@Wuzhong Road";String[]splitAddr=address.split("@");System .out。 println(splitAddr[0]+splitAddr[1]+splitAddr[2]+splitAddr[3]

golangの「unknown: bytes.Split」エラーを解決するにはどうすればよいですか? golangの「unknown: bytes.Split」エラーを解決するにはどうすればよいですか? Jun 25, 2023 pm 02:02 PM

Go 言語の bytes パッケージはバイト型を操作するためのパッケージであり、Split() メソッドなどの便利なメソッドが多数含まれています。ただし、Split() メソッドを使用すると、「未定義: bytes.Split」エラーが発生する可能性があります。このエラーは通常、Go バージョンに互換性がないこと、または必要な依存ライブラリが不足していることが原因で発生します。この記事では、このエラーを解決するいくつかの方法を紹介します。方法 1: 次のように Go バージョンをアップグレードします。

Go言語でのsplitメソッドの使用法は何ですか Go言語でのsplitメソッドの使用法は何ですか Jan 28, 2023 pm 01:37 PM

Go 言語では、Split() メソッドを使用して文字列を分割します。区切り文字を使用して文字列を部分文字列のリストに分割すると、部分文字列はスライスの形式で返されます。 Split() は strings パッケージのメソッドで、使用する前に strings パッケージをインポートする必要があります。構文は「strings.Split (分割する文字列、区切り文字)」です。

Pythonで分割を使う方法 Pythonで分割を使う方法 Nov 17, 2023 am 10:13 AM

Python では、split() は、文字列を部分文字列に分割し、これらの部分文字列を含むリストを返す、一般的に使用される文字列メソッドです。このメソッドは、指定された区切り文字に基づいて文字列を複数の部分に分割できます。基本的な構文は「str.split(separator, maxsplit)」です。str は分割する文字列、separator は区切り文字、maxsplit はオプションのパラメータで、分割の最大数を示します。

PHPのarray_merge_recursive()関数を使用するシンプルで明確な方法 PHPのarray_merge_recursive()関数を使用するシンプルで明確な方法 Jun 27, 2023 pm 01:48 PM

PHP でプログラミングする場合、多くの場合、配列をマージする必要があります。 PHP には、配列のマージを完了するための array_merge() 関数が用意されていますが、配列内に同じキーが存在する場合、この関数は元の値を上書きします。この問題を解決するために、PHP は配列をマージして同じキーの値を保持できる array_merge_recursive() 関数を言語で提供し、プログラム設計をより柔軟にします。配列マージ

PHP で array_combine 関数を使用して 2 つの配列を結合して連想配列にする方法 PHP で array_combine 関数を使用して 2 つの配列を結合して連想配列にする方法 Jun 26, 2023 pm 01:41 PM

PHP には、配列操作をより便利かつ高速にする強力な配列関数が多数あります。 2 つの配列を結合して連想配列にする必要がある場合、PHP の array_combine 関数を使用してこの操作を実行できます。この関数は、実際には、ある配列のキーを別の配列の値として新しい連想配列に結合するために使用されます。次に、PHP の array_combine 関数を使用して 2 つの配列を結合して連想配列にする方法を説明します。 array_comb について学ぶ

Linuxのsplitコマンドを詳しく解説 Linuxのsplitコマンドを詳しく解説 Feb 21, 2024 pm 06:06 PM

Linuxのsplitコマンドの詳しい説明 splitはLinuxでよく使われるコマンドで、ファイルを複数の小さなファイルに分割するために使用されます。この記事では、splitコマンドの使い方を詳しく紹介し、具体的なコード例をいくつか紹介します。 1. コマンド構文 Split コマンドの基本構文は次のとおりです。 Split [オプション] [入力ファイル] [出力ファイルのプレフィックス] オプション: -: 指定された行数に従ってファイルを分割します。デフォルトは 1000 行です。 -

See all articles