题解 2548: [CSP-J2020] 优秀的拆分

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

优质题解

优秀的拆分

摘要:解题思路:    如果输入的数为奇数,我们发现肯定不是一个优秀的拆分,因为后面一系列的偶数后肯定要加上1;所以要找偶数和:pow(2,0)=1pow(2,1)=2pow(2,2)=4pow(2,3)=……

优秀的拆分 题解

摘要:解题思路:如果为奇数则无解。如果为偶数,就不断找到最大的i使得$$2^i……

优秀的拆分

摘要:解题思路:1.奇数不存在优秀的拆分,因为2的正整数次方都是偶数,偶数+偶数=偶数2.题目求一个数拆成2的正整数次方相加,使用位运算可以很简便的完成注意事项:1.<<是左移,左移一位相当于*2,左移两位……
优质题解

[CSP-J2020] 优秀的拆分(递归)

摘要:解题思路:注意两件事,一个是奇数不存在优秀的拆分,因为2的正整数次方都是偶数,偶数+偶数=偶数另一个是拆分出的数要用 2 的正整数次幂表达,当它本身就是2 的正整数次幂的时候就可以打印自己了这里采用p……

2548:优秀的拆分

摘要:解题思路:利用二进制注意事项:参考代码:n=int(input())a=list(str(bin(n)))#二进制a=a[2:]#去掉0ba.reverse()z=[]if int(a[0])==1:……

2548: [CSP-J2020] 优秀的拆分

摘要:解题思路:注意事项:参考代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;char s[1000];char a[……

天才的写法

摘要:解题思路:拆分为不同的2的幂次数,可以先算出来比n小的2的所有幂次,在进行取数操作注意事项:参考代码:n = int(input())i = 1a = []b = []while 2**i <= n:……