n = int(input())
sum = 0
for i in range(1, n):
sum += i
print(sum)
print(2)
중첩 for문을 통해 sum의 합을 구하는 코드는 2~n번, 3~n번, ... n-1~n번, n~n번 수행된다.
즉, 1 + 2 + ... + n-1번 수행되는 것이다.
그래서 나는 이걸 식으로 세우지 못하고 for문으로 구했는데.. 그래서 최고차항의 차수를 구하지 못했다,..
예제를 보고 n^2와 관련된 식이겠거니.. 하고 2 출력하게 했더니 정답ㅎ,,
n = int(input())
print(int(n*(n-1) - (n-1)*n/2))
print(2)
나는 2~n번, 3~n번, ... n-1~n번, n~n번 수행되는 걸 정리해서 1부터 n-1번 반복된다고 결정해버렸다.
그런데 여기서 또 규칙을 찾더라. 바로 n을 n-1번 더한 것에서 1부터 n-1까지의 합을 뺀다는 것이다.
등차의 합은 n(a0+an)/2로 구했었다. 너무 오래전이라 가물가물
❗️주의할 점: 파이썬에서 /는 float을 반환하기 때문에 int로 꼭 감싸주고 출력하자.
스스로 규칙을 찾아서 시그마 식으로 풀어보았다. i의 값을 j에 넣어서 j에서 시그마식을 쓰는 게 아니라, i를 k로 두고 시그마식을 세워야 정답이다.
이렇게 한 결과 n/2(n-1)이라는 식이 나왔는데 처음에는 에 나누기 2를 하면 안 나눠 떨어지면 어떻게? 했는데 난 바본가.. n(n-1)은 둘 중 한 숫자는 무조건 짝수다. 수학 바보가 되어버렸네.
아무튼 여기서 중요한 건 int로 바꾸는 것!


어라 차이 많이 나넹ㅎ