プログラミング入門I 宿題 2023.11.20

Back


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 ループをすぐ抜ける


Back