1385

  背景 Background  
  怪盜基德 VS OIBH
第三話
     
     
  描述 Description  
  怪盜基德第三次來到熟悉的OIBH總部。屢屢失敗的OIBH這次看守的是The Eye of Moon。還是那個
房間,還是那扇門,不同的是OIBH對密碼鎖進行了改進。這次屏幕上只顯示一個數n(基德:這是
改進了還是退化了?)。
密碼生成方法:設集合A中A={1,2,...,n},B爲A子集。對於B中任意一個元素x,2x均不在集合B中。
B中元素數目最大值即爲密碼。
     
     
  輸入格式 Input Format  
  一行,一個整數n(1<=n<=maxlongint)
     

 

 

 

 

輸出格式 Output Format

 

 

只有一個整數m,表示B中元素最大值

 

這個題目乍一看差點被整暈了,但是自己思考還是比較簡單的問題,這題目可以藉助數軸進行理解:

首先題目可以理解爲:

集合A即爲數軸AD,現在研究集合B,首先對摺數軸得到CD滿足條件,依次向下研究AC ,去掉BC,可以得到AB,再向下研究AB,依次下去可以得到

#include <stdio.h>

int cal(int n)
{
	if(n <= 0)
		return 0;
	else
		return (n+1)/2+cal(n/4);
}

int main()
{
	int n;
	scanf("%d",&n);
	printf("%d\n",cal(n));
	return 0;
}


 

發佈了46 篇原創文章 · 獲贊 102 · 訪問量 47萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章