LoginSignup
1
0

Mind8で 組み合わせの数を計算

Last updated at Posted at 2023-12-23

Mind8で書いた 組み合わせの数を計算し、具体的な組み合わせを表示するプログラムです。

変数などの定義


全体数は                    変数。
選択数は                    変数。
全体数-選択数は            変数。
組合せ数は                  変数。
一行の表示数は              変数。
当行の表示済数は             変数。
階差は        100個の     変数。 
階差の合計は                 変数。 

入出力部

全体数および選択数の入力とは                         
        ここから
        「全体数を入力 → 」と  表示し        
        数値入力し    全体数に  入れ       
        全体数が       1    以上        
                               ならば 打ち切り  つぎに
    繰り返し
       ここから
        「選択数を入力 → 」と  表示し
        数値入力し    選択数に  入れ
        選択数が       1    以上
          かつ
        選択数が     全体数  以下
                               ならば 打ち切り  つぎに
        繰り返すこと。

一行の表示数の計算とは
        [一行の表示数 := 80 /  (選択数 * 3 + 2)]。  

一組表示とは 
       表示値は  変数
        表示値を  クリアし
        「(」を   表示し
    選択数を  回数指定し
           表示値を  一つ増加し
        階差(回数)だけ    表示値を 増加し
        表示値を 二桁で数値表示し
        回数が  選択数と  等しい  
            ならば  「)」を   表示し  つぎに
        「,」を 表示し
    繰り返し
        当行の表示済数と 組合せ数を 一つ増加し
        当行の表示済数が 一行の表示数 以上
        ならば  改行し
                  当行の表示済数を  クリアし   つぎに。

組み合わせ調査本体

次の組合せを作成とは
                pは   変数
    選択数を  pに  入れ
    ここから
      階差の合計が 全体数-選択数より  小さい
                ならば 打ち切り  つぎに
      階差(p)だけ    階差の合計を  減少し
      階差(p)を  クリアし
      pを  一つ減少し
    繰り返し 
        階差(p)と  階差の合計を  一つ増加すること。

組合せ作成表示とは                
    全体数から  選択数を  引き   全体数-選択数に  入れ
    階差と  階差の合計と  組合せ数を クリアし  
        ここから
      一組表示し
            階差(1)が 全体数-選択数と  等しい
                  ならば 打ち切り
            つぎに
            次の組合せを作成し
    繰り返すこと。

全体の流れ

メインは
        「**  組合せを求める」を  表示し   改行し
        全体数および選択数の入力し          改行し
        一行の表示数の計算をし
        当行の表示済数を  クリアし
        組合せ作成表示し     ベルを鳴らし  改行し
        「**  組合せ数は    」を  表示し
    組合せ数を  数値表示し  「とおり。」を 表示する。

実行結果

c:\mind8\pmind\sample>kumiawase
**  組合せを求める
全体数を入力 → 7
選択数を入力 → 3

( 1, 2, 3),( 1, 2, 4),( 1, 2, 5),( 1, 2, 6),( 1, 2, 7),( 1, 3, 4),( 1, 3, 5),
( 1, 3, 6),( 1, 3, 7),( 1, 4, 5),( 1, 4, 6),( 1, 4, 7),( 1, 5, 6),( 1, 5, 7),
( 1, 6, 7),( 2, 3, 4),( 2, 3, 5),( 2, 3, 6),( 2, 3, 7),( 2, 4, 5),( 2, 4, 6),
( 2, 4, 7),( 2, 5, 6),( 2, 5, 7),( 2, 6, 7),( 3, 4, 5),( 3, 4, 6),( 3, 4, 7),
( 3, 5, 6),( 3, 5, 7),( 3, 6, 7),( 4, 5, 6),( 4, 5, 7),( 4, 6, 7),( 5, 6, 7),

**  組合せ数は    35とおり。
c:\mind8\pmind\sample>
1
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0