1905 Problem B 두 갈래 나무
문제 B:두 갈래 나무
시간 제한: 1Sec 메모리 제한: 32MB 커밋: 115 해결: 58
제목 설명
위에서 보듯이 정수 1, 2, 3.......로 특수한 두 갈래 나무를 이루었다.우리는 이미 이 두 갈래 나무의 마지막 결점이 n이라는 것을 안다.현재의 문제는 결점 m가 있는 자수에 모두 몇 개의 결점이 포함되어 있느냐는 것이다.예를 들어 n=12, m=3 그러면 위 그림의 결점 13, 14, 15 및 뒤의 결점은 모두 존재하지 않는다. 결점 m가 있는 자수에 포함된 결점은 3, 6, 7, 12이기 때문에 결점 m가 있는 자수에는 모두 4개의 결점이 있다.
입력
입력 데이터는 여러 줄을 포함하고 각 줄은 두 개의 정수 m, n(1<=m<=n<=100000000)을 포함하는 테스트 데이터를 제공한다.마지막 테스트 데이터에는 두 개의 0이 포함되어 있으며, 입력의 끝을 표시하며, 이 데이터는 처리할 필요가 없다.
출력
모든 테스트 데이터에 대해 한 줄을 출력하면 이 줄은 하나의 정수를 포함하고 결점 m가 있는 하위 트리에 포함된 결점의 수를 제시한다.
샘플 입력
3 7
142 6574
2 754
0 0
샘플 출력
3
63
498
경험 총결
이 문제는...완전 이차수잖아~ 두 결점의 층수를 산출한 다음 저층수 결점을 고층수의 맨 왼쪽에 있는 자손결점의 표호를 산출해 총결점과 비교하고 결과에 따라 상응하는 연산을 하면 결과를 얻을 수 있어~
정확한 코드
#include
#include
int index[31];
void compute()
{
for(int i=0;i<31;++i)
{
index[i]=(int)pow(2.0,1.0*i);
}
}
int deep(int number)
{
int i;
for(i=0;i<31;++i)
if(number
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.