No older revisions available
No older revisions available
코드 ¶
~cpp
#include <iostream.h>
int find_min_sum(int bound_num)
{
int n = 1;
while ((n * n + n) / 2 < bound_num) n++;
return n;
}
inline void show_min_sum(int n) { cout << n << " " << (n * n + n) / 2 << endl; }
void main()
{
show_min_sum(find_min_sum(3000));
}
나한테 할 말 ¶
- 원래 이렇게 쓰는거 인가요 ? n(n+1)/2 가 n까지 숫자의 합으로 알고 있는데, 코딩할 때 만약에 공식을 모르는 경우는 어떻게 하나요?
공식도 알고리즘의 일종인가요? -허아영
- 음... 굳이 처음에 공식을 모르더라도 문제에 나온 식을 보고서 충분히 n(n+1)/2 를 유도해 낼 수 있습니다. 공식을 외우는 것이 중요한 것이 아니고, 해당 문제에서 규칙성을 찾고, (물론 규칙성이 없는 문제도 많습니다), 이 규칙성을 하나의 수식으로 변환시킬 수 있다면 문제를 쉽게 풀어낼 수 있고, 또 이 과정이 공식을 외우는 것보다 훨씬 중요하다고 생각합니다. --보창
- -> 정리 : 규칙성이 없다면 어쩔 수 없지만, 해당 문제에서 규칙성을 찾아푸는것이 문제풀기에 용이하다 이말씀이시죠? ㅋ