요렇게 푸는 사람은? int sum(int n) { if (n == 1) return 1; return n + sum(n-1); } printf("%d\n", sum(100)); 혹은 이렇게 푸는 사람은? template<int N> class num { private: int sum; public: num() { sum = (1+N)*N/2; } void print(void) { printf("%d\n", sum); } }; num<100> sum; sum.print(); 뽑아주나? 그리고 문제가 "1부터 100까지 더하는 코드를 작성하시오."였다면 2번과 3번 다 오답. 문제가 "1부터 100까지 더한 결과를 출력하시오."였다면 전부 정답. 하지만 문제를 "1부터 n까지 더한 결과를 출력하시오."로 바꾼다면 더 적절할듯.
recursion 사용했다면 뽑을 수 있겠지만, template 쓴 사람은 사상을 의심해 볼 거 같아요.
대졸자에게 이건 너무 쉬운 문제일까나 ... 100 말고 n 까지 더해서 결과 return 하는 함수 정도를 만들 게 하는 게 적절할 듯.
: 이름
: 패스워드
: 홈페이지
비밀글
댓글을 달아 주세요
요렇게 푸는 사람은?
int sum(int n)
{
if (n == 1)
return 1;
return n + sum(n-1);
}
printf("%d\n", sum(100));
혹은 이렇게 푸는 사람은?
template<int N> class num
{
private:
int sum;
public:
num()
{ sum = (1+N)*N/2; }
void print(void)
{ printf("%d\n", sum); }
};
num<100> sum;
sum.print();
뽑아주나?
그리고
문제가 "1부터 100까지 더하는 코드를 작성하시오."였다면 2번과 3번 다 오답.
문제가 "1부터 100까지 더한 결과를 출력하시오."였다면 전부 정답.
하지만 문제를 "1부터 n까지 더한 결과를 출력하시오."로 바꾼다면 더 적절할듯.
recursion 사용했다면 뽑을 수 있겠지만,
template 쓴 사람은 사상을 의심해 볼 거 같아요.
대졸자에게 이건 너무 쉬운 문제일까나 ...
100 말고 n 까지 더해서 결과 return 하는 함수 정도를 만들 게 하는 게 적절할 듯.