inputNumber = int(input('0보다 큰 정수 입력: '))
for number in range(1, inputNumber+1):
if inputNumber % number == 0:
print('{}의 악수: {}'.format(inputNumber, number))
inputNumber = int(input('0보다 큰 정수 입력: '))
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('{}: 소수!!'.format(number))
else:
print('{}: 합성수!!'.format(number))
inputNumber = int(input('1보다 큰 정수 입력: '))
n = 2
while n <= inputNumber:
if inputNumber % n == 0:
print('소인수: {}'.format(n))
inputNumber /= n
else:
n += 1
: 소인수분해를 이용해서 약수를 정확하고 쉽게 구할 수 있다.
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('공약수: {}'.format(i))
maxNum = i
print('최대공약수: {}'.format(maxNum))
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('공약수: {}'.format(i))
maxNum = i
print('최대공약수: {}'.format(maxNum))
minNum = (num1 * num2) // maxNum
print('최소공배수: {}'.format(minNum))
dNum = 30
print('2진수: {}'.format(bin(dNum)))
print('8진수: {}'.format(oct(dNum)))
print('16진수: {}'.format(hex(dNum)))
print('2진수(0b11110)->10진수({})'.format(int('0b11110', 2)))
print('8진수(0o36)->10진수({})'.format(int('0o36', 8)))
print('16진수(0x1e)->10진수({})'.format(int('0x1e', 16)))