時間限制: 1 sec 記憶體限制: 128 mb
題目描述
小明開始學習二進位制轉化到十進位制,其中要用到2的冪(2的3次冪就是3個2相乘),他覺得這個很有意思。既然通過2的冪相加可以得到十位數,那麼反過來,乙個十進位制數是否可以通過若干個2的冪相加得到呢?
小明開始研究起來,他先列出了所有2的冪:1,2,4,8,16,32,64……。
4=1+1+1+1
4=1+1+2
4=2+2
4=4 4共有4種方法
7=1+1+1+1+1+1+1
7=1+1+1+1+1+2
7= 1+1+1+2+2
7=1+1+1+4
7=1+2+2+2
7= 1+2+4
共有6種方法。1+2+4和2+1+4認為是同乙個等式,因為它們的組成相同。
現在小明想要知道,給出乙個十進位制數,可以寫出多少種,用若干個2的冪數相加的式子。
輸入第一行包含1個正整數n, 1<=n<=1000。
輸出共1行,n能用2的冪數相加的不同式子的種數。
思路這是道找規律的題目(可以手寫前幾個找規律)
遞推公式:
n==1,f[n]=1;
n為奇時,f[n]=f[n-1];
n為偶時,f[n]=f[n-1]+f[n/2];
樣例輸入
7
樣例輸出6
**:
#include
#include
#include
#include
#define ll long long
using
namespace std;
const
int n=
1e5+10;
int n,f[
1010];
intmain()
cout<;return0;
}
中石油 2的冪次方 power
時間限制 1 sec 記憶體限制 64 mb 提交 38 解決 19 提交 狀態 討論版 任何乙個正整數都可以用2的冪次方表示。例如 137 27 23 20 同時約定方次用括號來表示,即ab 可表示為a b 由此可知,137可表示為 2 7 2 3 2 0 進一步 7 22 2 20 21用2表示...
冪數的 冪 的來歷
冪並非外來術語,其原意為蓋東西的方布。九章算數 第一章 方田 中的第二個問題如下 又有田廣十二步,從十四步。問為田幾何?答曰 一百六十八步。方田術曰 廣從步數相乘得積步。所謂方田就是矩形的田,廣是寬度,從是高度。對於這條問題,三國時 劉徽注解道 此積謂 田冪。凡廣從相乘謂之冪。所以至少從三國時期,冪...
前m大的數 (經典的思維題)
還記得gardon給小希布置的那個作業麼?上次比賽的1005 其實小希已經找回了原來的那張數表,現在她想確認一下她的答案是否正確,但是整個的答案是很龐大的表,小希只想讓你把答案中最大的m個數告訴她就可以了。給定乙個包含n n 3000 個正整數的序列,每個數不超過5000,對它們兩兩相加得到的n n...