국수 썰 기.-블 루 브리지 컵.
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