10 から 20 までの整数をどれか一つ乱数により発生させて,その数が素数かどうかを判定するプログラムを作成しましょう.
Student number: s236099 15 is not a prime number. ------------------------ | Student number: s236099 17 is a prime number. ------------------------ |
|
素数ではないとき | 素数のとき |
素数かどうかは約数の個数でわかるので,剰余を使用します.
解答用紙を使用する際には,学生番号と名前の記入も忘れないでください.さらに,解答用紙自体がPythonのプログラムとなっていますので,実行してエラーの無いことを確認してから提出してください. 指定の解答用紙を使用していない,実行時にエラーが出る,学生番号と名前が無い,というような答案は提出されても採点しません.注意してください. |
解答例
# ############################# # # プログラミング入門I 宿題 2023.11.20 # 学生番号: s236099 # 氏名: 松江 花子 # # ############################# import random print('Student number: s236099') print('') num = random.randint(10, 20) count = 0 i = 2 while i <= num // 2: if num % i == 0: count += 1 i += 1 print(f'{num} is ', end = '') if count > 0: print('not ', end = '') print('a prime number.') print('\n------------------------\n') |
# ############################# # # プログラミング入門I 宿題 2023.11.20 # 学生番号: s236099 # 氏名: 松江 花子 # # ############################# import random print('Student number: s236099') print('') num = random.randint(10, 20) prime = 1 i = 2 while i <= num // 2: if num % i == 0: prime = 0 break i += 1 print(f'{num} is ', end = '') if prime == 0: print('not ', end = '') print('a prime number.') print('\n------------------------\n') |
# ############################# # # プログラミング入門I 宿題 2023.11.20 # 学生番号: s236099 # 氏名: 松江 花子 # # ############################# import random print('Student number: s236099') print('') num = random.randint(10, 20) count = 0 i = 2 while count < 1 and i < num: if num % i == 0: count += 1 i += 1 print(f'{num} is ', end = '') if count != 0: print('not ', end = '') print('a prime number.') print('\n------------------------\n') |
||
解答例1
とりあえず約数の個数を数える | 解答例2
素数でないことが判明した瞬間に break で抜ける | 解答例3
解答例2の変形で break ではなく while ループをすぐ抜ける |