본문 바로가기
  • Top Genius in the world
알고리듬

[알고리듬] #65 뉴메릭 센터

by Mr.Algo 2024. 4. 21.
728x90
반응형

파이썬 실습창을 열 수 있습니다.실습창 열기

바람부는 보리밭

 

 

뉴메릭 센터

뉴메릭 센터는 양쪽의 숫자 합이 같도록 나누는 것입니다.

예를 들면, 61부터 5까지의 합도 15이고, 78을 더하여도 15이므로 최초의 뉴메릭 센터입니다.

2번째 뉴메릭 센터는 35입니다.

왜냐하면 ’1+2+3+...+34=595‘’36+37+38+...+49=595‘는 같기 때문입니다.

 

1부터 10000 사이의 뉴메릭 센터를 찾아서 다음과 같이 출력하여 봅시다.

1+ ...  +      5         6         7+ ... +         8  =              15
1+ ...  +    34       35       36+ ... +      49  =            595
1+ ...  +   203    204    205+ ... +    288  =        20706
1+ ...  + 1188  1189  1190+ ... +  1681  =      706266
1+ ...  + 6929  6930  6931+ ... +  9800  = 24008985

이 문제를 이해하고(문제 분석), 해결방법을 찾아서 프로그렘의 구조를 구상하고(알고리듬 설계), 프로그램을 작성(코딩)할 수 있으면 반복구조문제 해결에 대한 기본적 사고체계가 형성된 것입니다.

계속 고민하여 스스로 문제를 해결하여 보세요.

 

더보기
n=10000
head=0
for i in range(1,n+1):
    head+=i-1
    j=i+1
    tail=j
    while head>tail:
        j+=1
        tail+=j
    if head==tail:
        w=f'1+ ... {i-1:5d} {i:5d} {i+1:5d}+ ... +{j:5d} = {head:8d}'
        print(w)  
        
'''
출력 결과입니다.

1+ ...     5     6     7+ ... +    8 =       15
1+ ...    34    35    36+ ... +   49 =      595
1+ ...   203   204   205+ ... +  288 =    20706
1+ ...  1188  1189  1190+ ... + 1681 =   706266
1+ ...  6929  6930  6931+ ... + 9800 = 24008985

11번 줄의 f-format 대신에 다음의 고급 포멧을 사용할 수 있습니다.
w='1+ ... {:5d} {:5d} {:5d}+ ... +{:5d} = {:8d}'.format(i-1,i,i+1,j,head)

'''

 

 

스스로 해결하는 기쁨을 방해하지 않겠습니다.

마음의 여유를 가지고 될때까지 즐기세요.

계속 수고하세요.

728x90
반응형