这个题简单来说就是把一个数转成32位的2进制数,不够的补0.然后把这个数的前半部分和后半部分互换,再计算结果. 思路简单明了,接下来是代码: #include<iostream> #include<cstdio> #include<map> #include<cmath> using namespace std; long long a,b,shu[50],s=1,zshu; int main() { scanf("%lld",&…
这个…… 这个题看上去有点难的样子. 仔细看看,感觉有点简单.啊,是递归啊,正经的看一看,好像是把一个数分成2的几次方的和. 然后余数和比他小的最大的2的次方数如果不是2的一次方或者2的0次方,就继续递归. 仔细一想貌似很简单,只不过余数是在括号外面,商是在里面的,这种小事稍微写写就可以了. 直接代码吧,这题除了题意有点复杂以外还行…… #include<iostream> #include<cstdio> using namespace std; long long m; lon…
这个题我见过!!! 我之前在石油大学的网站上做练习赛,提高了很多,这个题是我第一次在比赛里见到深搜. 当时蒙蔽的一批,现在发现好简单…… 这个题和普通的深搜没什么区别,甚至可以说简单了,因为这个是1维的,别的是二维的(见到老熟人,我快高兴疯了). 我们先来个代码吧,解释什么的写进注释里了: #include<iostream> #include<cstdio> using namespace std; long long a,b,n; long long k[300]; long…