topへ
reload


ボク >> 4桁を10にする遊び(make10)プログラム草案

4桁の並び替えパターンは下記の24通り
1 2 3 4
1 2 4 3
1 3 2 4
1 3 4 2
1 4 2 3
1 4 3 2
2 1 3 4
2 1 4 3
2 3 1 4
2 3 4 1
2 4 1 3
2 4 3 1
3 1 2 4
3 1 4 2
3 2 1 4
3 2 4 1
3 4 1 2
3 4 2 1
4 1 2 3
4 1 3 2
4 2 1 3
4 2 3 1
4 3 1 2
4 3 2 1

四則演算のパターンは下記の64通り
+++ ++- ++* ++/
+-+ +-- +-* +-/
+*+ +*- +** +*/
+/+ +/- +/* +//
-++ -+- -+* -+/
--+ --- --* --/
-*+ -*- -** -*/
-/+ -/- -/* -//
*++ *+- *+* *+/
*-+ *-- *-* *-/
**+ **- *** **/
*/+ */- */* *//
/++ /+- /+* *+/
/-+ /-- /-* /-/
/*+ /*- /** /*/
//+ //- //* ///


掛け算割り算で計算の優先順序入れ替わると重複が出るとか
プログラム上余計なことは考えない
とにかくシンプルなプログラムにする為に優先順序は無視で
1個づつ解に次の値、解に次の値と当て嵌めていく
よって9999通りの数列に対して全部に 24 * 64 = 1536通りの
組み合わせが存在することになる

入力の1行テキストボックスと実行ボタンとクリアボタン
出力用複数行表示できる編集不可のテキストボックスを用意

4桁の数字を入力させて整数の下4桁を値として認識するようにする
1.数値チェックしてエラーの時はエラーメッセージを表示して終了
2.小数点以下切り捨て
3.10000で割った余り数
4.1536全通りの数式に当てはめて配列に解を代入
5.解が10になっているものだけを抽出する
6.()まとめたりそれらしい形に式を整形して出力する
※整形といっても四則演算のパターンでどれが()付きになるか事前に
わかってるのでその解のあった配列の位置が出力する式とリンクしてると
余計なプログラムを組む必要が無くてシンプルだと思う

余裕のある時にPHPとかで組んでみよう
久々に組んで無限ループとかサーバ負荷増大させたら怒られそうだが
いまはローカルにPHP動かす環境ないから仕方ないじゃんね
-2023/05/12 [Fri] 18:28:11-

topへ
-レッツPHP-
Warning: include(../log/analyzer_ordinary.php) [function.include]: failed to open stream: No such file or directory in /home/users/1/hacca.jp-haru/web/dmz/view.php on line 154

Warning: include(../log/analyzer_ordinary.php) [function.include]: failed to open stream: No such file or directory in /home/users/1/hacca.jp-haru/web/dmz/view.php on line 154

Warning: include() [function.include]: Failed opening '../log/analyzer_ordinary.php' for inclusion (include_path='.:/usr/local/php/5.3/lib/php') in /home/users/1/hacca.jp-haru/web/dmz/view.php on line 154