본문 바로가기

TEAM STUDY/PYTHON

직사각형의 넓이로 변의 길이 구하기

728x90
반응형

이번주 계획

  1.  직사각형의 넓이로 변의 길이 구하기
  2.  반목문 건너뛰기와 여러 범위 스캔하기
  3.  다중 루프 알아보기

변의 길이와 넓이가 모두 정수인 직사각형에서 변의 길이를 구하는 프로그램.

이 때 짧은 변과 긴 변의 길이는 구별하지 않습니다.

예를들어 직사각형의 넓이가 32면 변의 길이는 1 * 32 ,  1 * 16 , 4 * 8 만 출력합니다.

2 * 16 은 이미 출력했으므로 16 * 2 는 출력하지 않습니다.

 

area = int(input('직사각형의 넓이를 입력하세요 : '))

for i in range( 1, area+1 ) :
	if i*i > area :
    	break
    if area % i :
    	continue
    print( f'{i} * {area//i}' )

 

첫번째 if 문

i * i 가 area를 초과하면 for문을 강제 종료 합니다.

그 이유는 i가 가장 긴 변의 길이가 되기 때문입니다.

예를 들어 i가 6이 되면 6 * 6  = 36 이므로 사각형의 최대 넓이 (32) 를 초과하면서도

가장 긴 변의 길이가 되므로 프로그램을 종료한다.

 

 

두번째 if 문

continue 문은 area가 i로 나누어 떨어지지 않으면 for문의 다음 반복으로 진행 된다.

area 가 i가 나누어 떨어지지 않으면 i는 변의 길이 (약수)가 될 수 없습니다.

예를 들어 i가 3이면 32%3는 나머지 2 이므로 3은 약수가 아니다.

따라서 출력할 필요가 없다.

 


import random

n = int(input('난수의 개수를 입력하세요 : ' ))

for _ in range(n) :
	r = random.randint( 10, 99 )
    print( r, end='' )
    if r == 13 :
    	print('난수 13이 발생했으므로 프로그램을 종료 합니다')
        break
    else :
    	print('난수 생성을 종료합니다.')

 

for문을 사용하여 2자리 정수인 난수를 n개 생성하여 출력합니다.

이 과정에서 13이 생성될 경우 break 문으로 반복문을 강제 종료 합니다.

 

실행 결과와 같이 13 이후 난수는 출력되지 않고 else 문조 실행되지 않습니다.

728x90
반응형