f(10) : f(9) - f(8) + f(7) * 2 = 13 - 6 + 3 * 2 = 13
f(9) : f(8) - f(7) + f(6) * 2 = 6 - 3 + 5 * 2 = 13
f(8) : f(7) - f(6) + f(5) * 2 = 3 - 5 + 4 * 2 = 6
f(7) : f(6) - f(5) + f(4) * 2 = 5 - 4 - 1 * 2 = 3
f(6) : f(5) - f(4) + f(3) * 2 = 4 - 1 + 1 * 2 = 5
f(5) : f(4) - f(3) + f(2) * 2 = 1 - 1 + 2 * 2 = 4
f(4) : f(3) - f(2) + f(1) * 2 = 1 - 2 + 1 * 2 = 1
f(3) : f(2) - f(1) + f(0) * 2 => 2 - 1 + 0 * 2 = 1
f(2) : 2
f(1) : 1
f(0) : 0
DoriDoriPanda 님이 쓰신 글 :
: 죄송합니다.
:
: 제가 테스트로 LOG찍느라;; 함수수정을 마저 안했습니다;;
:
:
: 주누 님이 쓰신 글 :
: : 위와 같은 코드가 있다면 컴파일러가 f란 이름의 함수에는 인자 두개 받는거 없어요.
: : 라고 반응 합니다.
: :
: : DoriDoriPanda 님이 쓰신 글 :
: : :
: : :
: : : 정보올림피아드 기출문제 2012년 중고등문제 입니다.
: : :
: : : TForm1 *Form1;
: : : //---------------------------------------------------------------------------
: : : __fastcall TForm1::TForm1(TComponent* Owner)
: : : : TForm(Owner)
: : : {
: : : }
: : : //---------------------------------------------------------------------------
: : : int __fastcall TForm1::f(int n)
: : : {
: : : if(n < 3) return n ;
: : : //else return f(n-1,1) - f(n-2,2) + f(n-3,3) * 2; <----------- 이놈을
: : : else return f(n-1) - f(n-2) + f(n-3) * 2; <----------- 수정하였습니다;;
:
: : : }
: : : //---------------------------------------------------------------------------
: : : void __fastcall TForm1::Button1Click(TObject *Sender)
: : : {
: : : int iRslt;
: : : iRslt = f(10);
: : : Memo1 -> Lines -> Add(iRslt);
: : : }
: : : //---------------------------------------------------------------------------
: : :
: : : 답이야..뭐 소스 돌려보면 알수 있지만...
: : :
: : : 중고등학생들은 이것을... 그냥 풀수 있단 말인가요...
: : :
: : : 누가 이해좀 시켜주세요... 많이 부족합니다;;; ㅋㅋㅋㅋ
: : :
: : : 재귀호출인데 참.. ㅋㅋㅋ 아;;;;;;;ㅋㅋㅋ
: : :
: : : 다음과 같은 함수 f가 있을때 f(10) 의 값은 무엇인가 입니다..
: : :
: : : |