- 追加された行はこの色です。
- 削除された行はこの色です。
[[練習問題]]
例1)
[[問題文>練習問題#o8db2119]]
解答例1
# -*- coding: utf-8 -*-
def preme_check(x):
if x<2:
return 0
if x==2 :
return 1
if x%2==0:
return 0
a=3
while a**2 <= x:
if x%a==0:
return 0
a=a+2
return 1
x=input ('値を入力してください')
if preme_check(x)==1:
print '素数です'
if preme_check(x)==0:
print '素数ではありません'
exit()
例2)
解答例2
a = 代入する値
s = [2]
if a < 2:
print(u"素数ではない")
elif a % 1 != 0:
print(u"素数ではない")
elif a == 2:
print(u"素数である")
elif a % 2 == 0:
print(u"素数ではない")
else:
for x in range(3,a + 1):
for y in s:
if x % y == 0:
break
else:
if max(s) == y:
s.append(x)
if a % y == 0:
print"素数ではない"
if a in s:
print(u"素数である")
↑aに123456789とかを与えてみると、3回「素数ではない」と言ってプログラムが終わらない。
解答例3
# -*- coding: utf-8 -*-
def is_prime(n):
sq = int(n ** .5)
for d in range(2, sq+1):
if n % d == 0:
return 0
return n > 1
n = int(input('値を入力してください: '))
print('{0}は素数'.format(n) + ('です' if is_prime(n) else 'ではありません'))