국수 썰 기.-블 루 브리지 컵.

1961 단어 블 루 브리지 컵
나의 새 블 로그 방문 을 환영 합 니 다.
주소
오리지널:국수 썰 기-블 루 브리지 컵
저자:http://www.milkcu.com/blog/
본 문 제 는 2014 년 제5 회 블 루 브리지 컵 전국 소프트웨어 대회 예선 A 조 2 번 이다.
제목 설명
제목:국수 썰 기
쫄 깃 쫄 깃 한 라면 한 개,중간 에 한 칼 자 르 면 국수 두 개 를 얻 을 수 있다.
한 번 접 고 중간 에 칼 을 자 르 면 국수 세 개 를 얻 을 수 있다.
2 회 연속 접 으 면 중간 에 한 칼 자 르 면 국수 5 개 를 얻 을 수 있다.
그렇다면 10 회 연속 접 고 중간 에 칼 을 자 르 면 국 수 를 얼마나 얻 을 수 있 을 까?
정 답 은 정수 입 니 다.브 라 우 저 를 통 해 정 답 을 제출 하 십시오.어떤 불필요 한 내용 도 기입 하지 마라.
문제 풀이 의 사고 방향.
반절 횟수 가 10 에 불과 해 데이터 규모 가 크 지 않 아 손 으로 계산 해 간단하게 완성 할 수 있다.
  0 ,  2 ;
  1 ,  2 * 2 - 1 = 3
  2 ,  3 * 2 - 1 = 5  
  3 ,  5 * 2 - 1 = 9
  4 ,  9 * 2 - 1 = 17
  5 ,  17 * 2 - 1 = 33
  6 ,  33 * 2 - 1 = 65
  7 ,  65 * 2 - 1 = 129
  8 ,  129 * 2 - 1 = 257
  9 ,  257 * 2 - 1 = 513
  10 ,  513 * 2 - 1 = 1025

사실은 위의 사고방식 은 일종 의 귀속 으로 이런 사상 을 코드 를 통 해 실현 할 수 있다.
재 귀 는 4.567915.두 가지 형식 이 있 는데 본 고 는 각각 코드 실현 을 실시 했다.
끝 재 귀 는 어느 정도 에 프로그램의 효율 을 높 일 수 있 고 보통 기본 재 귀 보다 하나의 매개 변수 가 많다.
재 귀 의 본질은 바로 스 택 입 니 다.물론 스 택 으로 실현 할 수 있 습 니 다.데이터 규모 가 매우 클 때 스 택 을 명시 적 으로 사용 하여 스 택 이 넘 치지 않도록 해 야 합 니 다.
코드 구현
기본 귀속
#include <iostream>
using namespace std;
int f(int n) {
    //     
    if(n == 0) {
        return 2;
    } else {
        return 2 * f(n - 1) - 1;
    }
}
int main(void) {
    cout << f(10) << endl;
    return 0;
}

후처
#include <iostream>
using namespace std;
int f2(int n, int r) {
    //   
    if(n == 0) {
        return r;
    } else {
        return f2(n - 1, 2 * r - 1);
    }
}
int main(void) {
    cout << f2(10, 2) << endl;
    return 0;
}

최종 답안
1025
(전문 완료)
본문 주소:http://www.milkcu.com/blog/archives/lanqiao-2014pa-2.html

좋은 웹페이지 즐겨찾기