【귀속】2의 멱차방, 변태 계단 뛰기, 소 직사각형 덮개
2810 단어 소그물
제목 설명
Every positive number can be presented by the exponential form.For example, 137 = 2^7 + 2^3 + 2^0. Let's present a^b by the form a(b).Then 137 is presented by 2(7)+2(3)+2(0). Since 7 = 2^2 + 2 + 2^0 and 3 = 2 + 2^0 , 137 is finally presented by 2(2(2)+2 +2(0))+2(2+2(0))+2(0). Given a positive number n,your task is to present n with the exponential form which only contains the digits 0 and 2.
설명 입력:
For each case, the input file contains a positive integer n (n<=20000).
출력 설명:
For each case, you should output the exponential form of n an a single line.Note that,there should not be any additional white spaces in the line.
예제 1
입력
복사
1315
출력
복사
2(2(2+2(0))+2)+2(2(2+2(0)))+2(2(2)+2(0))+2+2(0)
#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; int Simple(int n,int i) { return (n>>i)&1; } void print(int n) { bool first=true; for(int i=15;i>=0;i--) { if(Simple(n, i)) { if(!first) { printf("+"); } else first=false; if(!i) { printf("2(0)"); } else if(i==1) { printf("2"); } else { printf("2("); print(i); printf(")"); } } } } int main(){ int n; scanf("%d",&n); print(n); cout< }
제목 설명
개구리 한 마리가 한 번에 1계단을 올라갈 수도 있고 2계단을 올라갈 수도 있고...그것도 n계단을 올라갈 수 있다.이 개구리가 n급의 계단을 뛰어오르는 데는 모두 몇 가지 방법이 있는지 구해라.
#include #include #include #include #include #include #include #include #include #include #include #include using namespace std;//위의 제목에 따르면 개구리는 1 또는 2만 뛰면 피보나치 문제,/즉 a[n]=a[n-1]+a[n-2], 그러면 1, 2, 3단계를 뛸 수 있을 때 a[n]=a[n-1]+a[n-2]+a[n-3],...//순서대로 유추하여 본 문제를 내놓을 수 있는 a[n]=a[n-1]+a[n-2]+...+a[1];이로써 코드를 얻을 수 있습니다: int jumpFloor(int number) {int a[10001];a[0]=1;a[1]=1;a[2]=2;for(int i=3;i<10001;i+)a[i]=2*a[i-1];return a[number];}
int main() { printf("%d",jumpFloor(4)); }
제목 설명
우리는 2*1의 작은 직사각형으로 가로나 세로로 더 큰 직사각형을 덮을 수 있다.실례지만 n개의 2*1의 작은 사각형으로 중첩 없이 2*n의 큰 사각형을 덮는 방법은 모두 몇 가지가 있습니까?(가장 멍청한 방법: 가난한 짓)
class Solution { public: int rectCover(int number) { int a[10001]; a[1]=1; a[2]=2; for(int i=3;i<10001;i++) { a[i]=a[i-1]+a[i-2]; } return a[number]; } };
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
우객 - JZ 57 두 갈래 나무의 다음 노드 [두 갈래 나무의 중서 역행]기사 목록 문제 설명 문제 풀이 보고서 구현 코드 참고자료 두 갈래 나무와 그 중의 한 결점을 정하십시오. 순서를 반복하는 다음 결점을 찾아 돌아오십시오.나무의 결점은 좌우 자결점뿐만 아니라 부모 결점을 가리키는 바...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.