#include#include#include
#include
#include
#include
using
namespace
std;
int dp[37][73],a[37
];inline
intread()
while(isdigit(ch))
return ans*f;
}int dfs(int wi,int cha,bool lim,bool fir) //
列舉到哪一位,sum0-sum1,限制,是否有前導0
else
ans+=dfs(wi-1,cha-1,lim&&a[wi]==0
,fir);
if(o>=1
) ans+=dfs(wi-1,cha+1,lim&&a[wi]==1,0); //
a[wi]==1/0
if(!lim&&!fir)
dp[wi][cha]=ans;
return
ans;
}int sol(int
x)
for(int i=0;i<=w;i++)
ans+=dfs(w,i+32,1,1
);
return
ans;
}int
main()
數字dp,dp[i][j]表示考慮到第i位(二進位制位),剩下的位中0的個數與1的個數的差為j的數的個數。j可能為負,需要統一加上乙個數(32吧)
這道題需要考慮前導0,因為如果前面都是0的話,後面的0就不能算在裡面
求乙個範圍內的素數
學演算法時候,求素數總是一道逃不掉的練習題。好久沒寫演算法相關的練習了,學習了python 就拿它來練一下手吧。在求素數之前,首先我們了解一下 什麼是素數。按維基百科的說法是 素數指在大於1的自然數中,除了1和此整數自身外,無法被其他自然數整除的數 也可定義為只有1和本身兩個因數的數 因此我們可以總...
二進位制的前導的零
題目內容 計算機內部用二進位制來表達所有的值。乙個十進位制的數字,比如18,在乙個32位的計算機內部被表達為00000000000000000000000000011000。可以看到,從左邊數過來,在第乙個1之前,有27個0。我們把這些0稱作前導的零。現在,你的任務是寫乙個程式,輸入乙個整數,輸出在...
二進位制的前導的零
二進位制的前導的零 題目內容 計算機內部用二進位制來表達所有的值。乙個十進位制的數字,比如18,在乙個32位的計算機內部被表達為00000000000000000000000000011000。可以看到,從左邊數過來,在第乙個1之前,有27個0。我們把這些0稱作前導的零。現在,你的任務是寫乙個程式,...