스터디노트_기초수학_1

MR.HAN·2023년 10월 16일

스터디노트

목록 보기
1/9

1. 약수: 어떤 수를 나누어떨어지게 하는 수

ex. 사용자가 입력한 숫자의 약수를 출력

inputNumber = int(input('0보다 큰 정수 입력 : '))

for i in range(1, inputNumber + 1):
    
    if inputNumber % i == 0:
        print(f'{inputNumber}의 약수 : {i}')




2. 소수 : 1과 자신만을 약수로 가지는 수 (단, 1은 제외)

ex. 사용자가 입력한 숫자까지의 소수를 출력

inputNumber = int(input('1보다 큰 정수 입력 : '))

for number in range(2, inputNumber + 1):
    flag = True
    
    for n in range(2, number):
        if number % n == 0:
            flag = False
            break

    if (flag):
       print(f'{number} : 소수!!')
    
    else:
       print(f'{number} : 합성수!!')




3. 소인수 : 약수(인수) 중에서 소수인 숫자를 소인수라고 한다.
소인수분해 : 1보다 큰 정수를 소인수의 곱으로 나타낸 것을 소인수분해라고 한다.

ex. 사용자가 입력한 수를 소인수분해

inputNumber = int(input('1보다 큰 정수 입력 : '))

n = 2

while n <= inputNumber:
    
    if inputNumber % n == 0:
        print(f'소인수 : {n}')
        inputNumber /= n
    
    else:
        n += 1




4. 공약수 : 두 개 이상의 수에서 공통된 약수를 공약수라고 한다.
최대공약수 : 공약수 중 가장 큰 수를 최대공약수라고 한다.

ex. 사용자가 두 개의 수를 입력하면 공약수와 최대공약수를 출력하는 코드 작성

num1 = int(input('1보다 큰 정수 입력 : '))
num2 = int(input('1보다 큰 정수 입력 : '))
maxNum = 0

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

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




5. 공배수 : 두 개 이상의 수에서 공통된 배수를 공배수라고 한다.
최소공배수 : 공배수 중 가장 작은 수를 최소공배수라고 한다.

ex. 두개의 수를 입력하면 최소공배수를 출력하는 코드

num1 = int(input('1보다 큰 정수 입력 : '))
num2 = int(input('1보다 큰 정수 입력 : '))
maxNum = 0

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

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

minNum = (num1 * num2) // maxNum
print(f'최소공배수 : {minNum}')




6. 진법 : 특정 숫자 몇 개를 사용하여 수를 표시하는 방법

진수 변환 방법

dNum = 30

# 10진수 -> X진수 변환
print('2진수 : {}'.format(bin(dNum)))
print('8진수 : {}'.format(oct(dNum)))
print('16진수 : {}'.format(hex(dNum)))

print('2진수 : {}'.format(type(bin(dNum))))
print('8진수 : {}'.format(type(oct(dNum))))
print('16진수 : {}'.format(type(hex(dNum))))

print('2진수 : {}'.format(format(dNum, '#b')))
print('8진수 : {}'.format(format(dNum, '#o')))
print('16진수 : {}'.format(format(dNum, '#x')))

print('2진수 : {}'.format(format(dNum, 'b')))
print('8진수 : {}'.format(format(dNum, 'o')))
print('16진수 : {}'.format(format(dNum, 'x')))

print('{0:#b}, {0:#o}, {0:#x}'.format(dNum))

# X진수 -> 10진수 변환
print('2진수(0b11110) -> 10진수({})'.format(int('0b11110', 2)))
print('8진수(0o36) -> 10진수({})'.format(int('0o36', 8)))
print('2진수(0x1e) -> 10진수({})'.format(int('0x1e', 16)))

# X진수 -> X진수 변환
print('8진수(0o36) -> 2진수({})'.format(bin(0o36)))
print('8진수(0o36) -> 10진수({})'.format(int(0o36)))
print('8진수(0o36) -> 16진수({})'.format(hex(0o36)))

0개의 댓글