CSP J 2020 T1 優秀的拆分

2021-10-10 08:55:00 字數 781 閱讀 5978

題目鏈結

題目要求將 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 ...