N88-BASIC,Pythonプログラミング入門 (3回目)
2024/3/31(日) N88-BASIC,Pythonプログラミング入門 (3回目) n!を求める ■ 初めに ▼ 表記 N88-BASICは以後BASICと省略する事にします またBASICの命令は小文字で書いても 自動で大文字に変換されます ▼ nの階乗(n!) n n! = Πi = 1×2× … ×(n-1)×n i =1 = n(n-1)(n-2) … 1 1~nまで自然数が書かれたカードn枚の 並べ方の場合の数は 1 枚目はn 枚から1つ選ぶのでn 通り 2 枚目はn-1枚から1つ選ぶのでn-1通り … n-1枚目は残り2枚から1つ選ぶので2通り n 枚目は残り1枚から1つ選ぶので1通り よって n通り×(n-1)通り× … ×1 = n!通りになる n = 3の時 1, 2, 3から選ぶ 1番 2番 3番目 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 3 × 2 × 1 = 6通り ■ コード ▼ Python print('nの階乗n!を求める') n = int(input('n = ')) if n < 0: exit() k = 1 for i in range(2, n+1): k *= i #--- k = k * i print(f'{n}! = {k}') ▼ BASIC 10 DEFDBL K '--- K~の桁を増やす(倍精度) 20 PRINT "nの階乗n!を求める" 30 INPUT "n = ", N 40 IF N < 0 THEN END 50 K = 1 60 FOR I=2 TO N 70 K = K * I '--- K *= Iとは書けない 80 NEXT 90 PRINT STR$(N); "! = "; K ■ 説明 ▼ Python 整数型の桁数は実質無制限なのでnが 大きくても計算できます (*は×、/は÷です) ▼ BASIC デフォルトの型(単精度実数)は7桁ほど