石油大 2的冪數(思維)

2022-06-18 14:24:10 字數 992 閱讀 4027

時間限制: 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...