Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

최소정수의합/문보창

From ZeroWiki

소감

코드

#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 를 유도해 낼 수 있습니다. 공식을 외우는 것이 중요한 것이 아니고, 해당 문제에서 규칙성을 찾고, (물론 규칙성이 없는 문제도 많습니다), 이 규칙성을 하나의 수식으로 변환시킬 수 있다면 문제를 쉽게 풀어낼 수 있고, 또 이 과정이 공식을 외우는 것보다 훨씬 중요하다고 생각합니다. --보창
  • -> 정리 : 규칙성이 없다면 어쩔 수 없지만, 해당 문제에서 규칙성을 찾아푸는것이 문제풀기에 용이하다 이말씀이시죠? ㅋ
  • 이렇게도 풀 수 있군요 - 김태훈[zyint]

최소정수의합 LittleAOI