3 つの数値の合計が範囲内にある場合、3 つの数値を見つけます
これら 3 つの数値の値の範囲は 1 ~ 6 であり、整数である必要があります
最初のケースでは、3 つの数値の合計は 4 ~ 10 の範囲であり、これら 3 つの数値はランダムに生成されます (3 つの数値はすべて繰り返すことができます) 2 番目のケースでは、3 つの数字の合計は 11 から 17 の範囲で、これら 3 つの数字はランダムに生成されます (3 つの数字が完全に繰り返される場合と、それらの数字が繰り返される場合の 2 つの場合があります)。例:
すべての繰り返しが許可されている場合、3 つの数字の合計が 15 の場合、3 つの数字は 5,5,5 になる可能性があり、すべての繰り返しが許可されていない場合は、
3 つの数字は、 4 、 5、 6 または 6、 6、 3 または 3、 6、 6、およびその他の組み合わせのみです
関数を見つけます
// 指定された合計に従って、合計が次の配列を許可するかどうかまったく同じ 3 つの数字を持つ 3 つの数字 ,
//6,6,3 や 3,6,6 など、すべての可能な組み合わせを返すことができる必要があります。
//プログラムでは、考えられるすべての組み合わせのうち 1 つがランダムに返されることだけが必要です。
function get3nums($最初の状況、$ がすべてを繰り返すことができるかどうか)
//たとえば、list($rand1,$rand2,$rand3) = get3nums(2,false);//2 番目の状況、および 3同じ数字は許可されません
//get $rand1=6,$rand2=6,$rand3=3
function get3nums($qingkuang,$ifxiangtong){
}
ディスカッションに返信 (解決策)
最初のケース 数値が 3 つあるため、まず受信値から 2 を減算し、次に最初の数値をランダムに見つけて、剰余を計算します。
たとえば、
function f($n)
{ $t = $n - 2;
$a = rand(1,min(6,$t));
$t = $n - $a - 1;
$b = rand(1,min(6,$t));
$t = $n - $a - $b;
3 でない場合重複している場合は、重複を判断するステートメントを追加してください
上の変数名が間違っています
function f($n)
{
$t = $n - 2
$a = rand(1,min(6 ,$) t));
$t = $n - $a - 1;
$c = $a - $b; $a,$b,$c);
}
2 番目のケースは最初のケースと同じです
すべてを繰り返すことはできません。戻り値の前に判定を追加するだけです
if($a == $b && $b = = $c)
{
return f($n); }
/** * @$start 范围下限 * @$end 范围上限 * @$repeat 允许重复,默认不允许 **/ function get3nums($start, $end, $repeat=false) { do { $r = array(); $n = rand($start, $end); //取得指定范围中的一个数 $a = intval($n/3); $r[] = rand(1, min($a, 6)); $r[] = rand(1, min($a, 6)); $r[] = $n - array_sum($r); if($repeat) break; }while(count(array_count_values($r)) == 1); return $r;}print_r(get3nums(4, 10));print_r(get3nums(4, 10, 1));print_r(get3nums(11, 17));print_r(get3nums(11, 17, 1));
/** * @$start 范围下限 * @$end 范围上限 * @$repeat 允许重复,默认不允许 **/ function get3nums($start, $end, $repeat=false) { do { $r = array(); $n = rand($start, $end); //取得指定范围中的一个数 $a = intval($n/3); $r[] = rand(1, min($a, 6)); $r[] = rand(1, min($a, 6)); $r[] = $n - array_sum($r); if($repeat) break; }while(count(array_count_values($r)) == 1); return $r;}print_r(get3nums(4, 10));print_r(get3nums(4, 10, 1));print_r(get3nums(11, 17));print_r(get3nums(11, 17, 1));
いいえ、1 ~ 6 の数字の多くは 6 を超えています
配列
([0] => 2
[1] => 2
[2] => 4)
[0] => 1
[1] => 1 [2 ] = > 2
)
配列
(
[0] => 4
[1] => 1
[2] => 8
)
配列
(
[0] => 2
[1 ] => 1
[2] => 8
)
いいえ、私の数字の多くは 6 より大きいです
わかりますか?
いいえ、私の数字は 1 ~ 6 ですが、あなたの数字の多くは 6 を超えています
3 つの数字の値は 1 ~ 6 でなければなりません。出力は実際には 8 です
/**
* @$start 范围下限
* @$end 范围上限
* @$repeat 允许重复,默认不允许
**/
function get3nums($start, $end, $repeat=false) {
if(!$repeat){
$n =rand($start, $end); //取得指定范围中的一个数
for($i=1;$i<7;$i++){
for($j=1;$j<7;$j++){
$k=$n-$i-$j;
if($k<7 &&$k>0){
if(($i==$j and $j==$k)){
continue;
}
echo $i.'-'.$j.'-'.$k."
";
}
}
}
}else{
$n =rand($start, $end);
$avg=$n/3;
if( $avg!=intval($avg)){
echo "no value"."
";
}else{
echo $avg.'-'.$avg.'-'.$avg."
";
}
}
}
print_r(get3nums(4, 10));
echo '
';
print_r(get3nums(4, 10, 1));
echo '
';
print_r(get3nums(11, 17));
echo '
';
print_r(get3nums(11, 17, 1));
?>
再检查一下就是了
function get3nums($start, $end, $repeat=false) { do { do { $r = array(); $n = rand($start, $end); //取得指定范围中的一个数 $a = intval($n/3); $r[] = rand(1, min($a, 6)); $r[] = rand(1, min($a, 6)); $r[] = $n - array_sum($r); }while(max($r) > 6); if($repeat) break; }while(count(array_count_values($r)) == 1); return $r;}
/**
* @$start 範囲の下限
* @$end 範囲の上限
* @$repeat 繰り返しは許可されますが、デフォルトでは許可されません
**/
function get3nums($start, $end, $repeat=false) {
if(!$repeat){
$n =rand($start, $end ); // 指定范围中の一数を取得
for($i=1;$i<7;$i++){
for($j=1;$j<7;$j++){
$k=$n- $i-$j;
if($k<7 &&$k>0){
if(($i==$j and $j==$k)){
続き;
}
echo $i.'-'.$j.'-'.$k."
";
}
}
}else{
$n =rand($start, $end);
$avg=$n/3;
if( $avg!=intval($avg)){
echo "値なし"."
";
}else{
echo $avg.'-'.$avg.'-'.$avg."
";
}
}
}
print_r(get3nums(4, 10));
echo '
';
print_r(get3nums(4, 10, 1));
echo '
';
print_r(get3nums(11, 17));
echo '
';
print_r(get3nums(11, 17, 1));
?>
危険な発言もまた非常に多く、11,17 は 6 を示しており、理想的ではありません。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

記事では、入力検証、認証、定期的な更新など、脆弱性から保護するためのフレームワークの重要なセキュリティ機能について説明します。
