題目鏈結
題目要求將 n
nn 拆分成若干個不同的 2
22 的冪。顯然,根據二進位制的唯一分解性,可知只有一種拆分方法
不能拆出 2
02^0
20,顯然就是要滿足 n
nn 為偶數
然後這題就做完了
#include
#include
#include
#include
using
namespace std;
long
long n;
inline
long
long
read()
while
(ch>=
'0'&& ch<=
'9')s=
(s<<3)
+(s<<1)
+(ch^48)
,ch=
getchar()
;return s*w;
}int
main()
for(
long
long i=
(long
long)30
;i>=
(long
long)0
;--i)
if(n &
(1ll
<)printf
("%lld ",(
1ll
('\n');
return0;
}
CSP J2020普及組複賽T1 優秀的拆分
一般來說,乙個正整數可以拆分成若干個正整數的和 例如,1 1 1 11 1,10 1 2 3 4 10 1 2 3 4 10 1 2 3 4 等。對於正整數 n nn 的一種特定拆分,我們稱它為 優秀的 當且僅當在這種拆分下,nnnn nn被分解為了若干個不同的 2 22 的正整數次冪。注意,乙個數...
2020CSP j2 1 優秀的拆分(power)
優秀的拆分 power 2020 csp j 01 題目描述 般來說,乙個正整數可以拆分成若干個正整數的和。例如,1 1,10 1 2 3 4等。對於正整數n的一種特定拆分,我們稱它為 優秀的 當且僅當在這種拆分下,n被分解為了若干個丕同的2的正整數次冪。注意,乙個數x能被表示成2的正整數次冪,當且...
CSP2020 第一題 優秀的拆分
作為第一題 雖然比往年的難 但是 居然難了我乙個小時啊。作為機構老師,簡直奇恥大辱。看到題目我飛快的想到這不就是把數轉成二進位制嗎?不到10分鐘我就敲好了 include include include using namespace std int num 30 int main for int ...