관리 메뉴

log.Sehee

[데이터 취업 스쿨 스터디 노트] 기초수학 문풀 1- 3 본문

Zerobase DS School

[데이터 취업 스쿨 스터디 노트] 기초수학 문풀 1- 3

Sehe_e 2024. 7. 16. 21:40

 


 

약수와 소수

import random

num = random.randint(100, 1000)
print(f'num: {num}')

for n in range(1, num+1):
    soinsu_flag = 0

    if num % n == 0:
        print(f'[약수]: {n}')
        soinsu_flag += 1

    if n != 1:
        flag = True
        for i in range(2, n):
            if n % i == 0:
                flag = False
                break

        if flag:
            print(f'[소수]: {n}')
            soinsu_flag += 1

    if soinsu_flag >= 2:
        print(f'[소인수]: {n}')

 

최대공약수

import random

num1 = random.randint(100, 1000)
num2 = random.randint(100, 1000)

print(f'num1: {num1}')
print(f'num2: {num2}')

max_num = 0

for n in range(1, min(num1, num2) + 1):
    if num1 % n == 0 and num2 % n == 0:
        print(f'공약수: {n}')
        max_num = n

print(f'최대공약수: {max_num}')

if max_num == 1:
    print(f'{num1}과 {num2}는 서로소이다.')

 

최소공배수

import random

num1 = random.randint(100, 1000)
num2 = random.randint(100, 1000)

print(f'num1: {num1}')
print(f'num2: {num2}')

max_num = 0

for n in range(1, min(num1, num2) + 1):
    if num1 % n == 0 and num2 % n == 0:
        print(f'공약수: {n}')
        max_num = n

print(f'최대공약수: {max_num}')

min_num = (num1 + num2) // max_num
print(f'최소공배수: {min_num}')

 

계차수열

input_a1 = 2
input_n = int(input('an 입력: '))

value_n = ((3 * input_n ** 2) - (3 * input_n) + 4) / 2
print(f'an의 {input_n}번째 항의 값: {int(value_n)}')

 

피보나치수열

input_n = int(input('n항 입력: '))
nums = [1, 1]

for i in range(input_n - 2):
    nums.append(nums[-2] + nums[-1])

print(nums)
print(f'{input_n}항의 값: {nums[-1]}')
print(f'{input_n}항까지의 합: {sum(nums)}')

 

순열

num_n = int(input('num_n 입력: '))
num_r = int(input('num_r 입력: '))
result = 1

for n in range(num_n, (num_n - num_r), -1):
    print(f'n: {n}')
    result = result * n

print(f'result: {result}')

 

조합

num_n = int(input('num_n 입력: '))
num_r = int(input('num_r 입력: '))

result_p = 1
result_r = 1
result_c = 1

for n in range(num_n, (num_n - num_r), -1):
    result_p *= n
print(f'result_p: {result_p}')

for n in range(num_r, 0, -1):
    result_r *= n
print(f'result_r: {result_r}')

result_c = int(result_p / result_r)
print(f'result_c: {result_c}')

 

 


내일의 학습 목표

자료구조 1 - 4

 

 

Comments