diff --git a/euclid.py b/euclid.py index da5c4aa..23e54a9 100644 --- a/euclid.py +++ b/euclid.py @@ -2,3 +2,20 @@ b = input("b の値を入力: ") # TODO +def gcd(a,b): + while b != 0: + a,b = b, int(a) % int(b) + return a +result3 = gcd(a,b) +print(result3) + +def coprime(a,b): + while b != 0: + a,b = b, int(a) % int(b) + return a == 1 + +result4 = coprime(a,b) +if result4: + print(f"{a}と{b}は互いに素") +else: + print(f"{a}と{b}は互いに素ではない") diff --git a/machine_epsilon.py b/machine_epsilon.py index f87f5c1..ff2b6a3 100644 --- a/machine_epsilon.py +++ b/machine_epsilon.py @@ -1 +1,5 @@ -# TODO \ No newline at end of file +# TODO +epsilon = 1 +while 1 + epsilon > 1: + epsilon = epsilon/2 +print(epsilon) \ No newline at end of file diff --git a/prime_number.py b/prime_number.py index 2308cf4..98b19e7 100644 --- a/prime_number.py +++ b/prime_number.py @@ -1,4 +1,23 @@ a = input("aの値を入力: ") b = input("bの値を入力: ") -# TODO \ No newline at end of file +# TODO +def check_natural(n): + if not n.isdigit() or int(n)<0: + raise ValueError('{}は自然数ではありません'.format(n)) +check_natural(a) +check_natural(b) + +def is_prime(n): + if int(n) < 2: + return False + for i in range(2,int(n)): + if int(n) % i == 0: + return False + return True + +for x in [a,b]: + if is_prime(x): + print('{}は素数'.format(x)) + else: + print('{}は素数ではない'.format(x)) \ No newline at end of file diff --git a/trapezoidal_integral.py b/trapezoidal_integral.py index 716aa70..2dd455d 100644 --- a/trapezoidal_integral.py +++ b/trapezoidal_integral.py @@ -3,3 +3,40 @@ # print(sin(0)) # >>> 0 # ----------- +from math import pi + +def integral(f,a=0,b=1,n=100): + S=0 + h = (b - a)/n + for i in range(1,n+1): + S += h/2 * (f(a + (i-1)*h)+f(a+i*h)) + return (S) + +result1 = integral(sin,0,pi/2,50) +print('(1){}'.format(result1)) + +def func2(x): + return 4/(1+x**2) + +result2 = integral(func2) +print('(2){}'.format(result2)) + +from math import sqrt +from math import exp +def func3(x): + return sqrt(pi)*exp(-x) + +result3 = integral(func3,-100,100,1000) +print('(3){}'.format(result3)) + + + + + + + + + + + +