wjddydgns99   4년 전

배열 범위가 1000밖에 안돼서 배열에 넣고 합 그냥 구하면 되고, 그렇게 해서 맞긴했는데....

배열에 안넣고는 어떤 방법이 있을까요? 될 것 같아보이는데...

rlarla97   4년 전

count 변수를 따로 둡니다.

1부터 누적하여 합을 구함과 동시에 count는 1씩 증가시킵니다.

count 가 범위 A 랑 같게 될 경우 해당 시점 직전의 누적 합을 따로 저장해둡니다.

그리고 계속 count 가 B 랑 같아질 때까지 누적합을 구합니다.

count 가 B 랑 같아지면 이 시점의 누적합을 구한 뒤, A 시점 때의 누적합과 B 시점 때의 누적합의 차를 구하면 됩니다.

또한 위의 방법 외에도

count 로 A 가 같아질 때까지는 누적합을 구하다가 같아지는 시점에서 누적합을 비우고 새로 초기화 한 다음 B 까지 누적합을 구하면 되기도 하고,

다른 방법으로는 수열을 사용하면 됩니다. 1, 2, 3, 4, 5, ... 해당 숫자가 반복되는 수는 일정하게 증가하기 때문에 금방 규칙을 찾아낼 수도 있습니다.

댓글을 작성하려면 로그인해야 합니다.