문제:

구구단 1단부터 X단까지의 모든 합을 구한다.
X단의 정보는 메소드의 파라미터로 전달한다.
X가 9보다 크면, 9로 간주한다. X가 1보다 작다면, 1로 간주한다.
만약, 파라미터 X가 ‘3’ 이라면, 1단부터 3단까지의 모든 값의 합이다.
만약, 파라미터 X가 ‘15’ 라면, 1단부터 9단까지의 모든 값의 합이다.
단, 각 단 자체 곱의 값은 제외한다.
- 2단에서는 2 X 2 의 결과는 구구단의 합 최종 결과에 포함하지 않는다.
- 8단에서는 8 X 8 의 결과는 구구단의 합 최종 결과에 포함하지 않는다.

[실행 결과]

입력값: 1 / 결과: 44
입력값: 2 / 결과: 130
입력값: 3 / 결과: 256

풀이1:

maxDan = 3
result = 0
 
maxDan = int(input("입력값 : "))        
 
for inx in range(1, maxDan+1, 1):
    for jnx in range(1, 10, 1):
        if(inx != jnx):
            result += (inx * jnx)
 
print( "입력값: %d / 결과: %d" % (maxDan, result ))

 

풀이 2:

def gugudan(num):
    if num > 9:
        num = 9
    elif num < 1:
        num = 1
 
    hap = 0
    for i in range(1,num+1):
        for j in range(1,10):
            if i != j:
                hap += i*j
    return hap
 
num = int(input("몇단까지? : "))
dap = gugudan(num)
 
print(dap)