1001
题意:求2的m次方减去一这个数的位数
思路:很显然只有100 - 1, 1000 - 1 这类数减去1之后位数会降,2的m次方位数不可能是0,所以对m * log10(2)向下取整即可
#include
#include
#include
#include
#include
#include
#include
1002
题意:给出n个字符串,对于字符a~z,赋值0~25,求在26进制下的最大值
思路:num[i][j]记录第i位上字符j有多少个,然后化成26进制,相当于比较字符a~z的26进制数的大小,然后贪心即可。
但是注意这里字符不能有前导零但是可以有字符串0,比如一个数据
26
a
b
c
...
z
那么其中必定有一个字符会被赋值为0,也就成了字符串0,但是其他情况不允许出现前导零,所以这种情况需要特判一下,然后对最小那个字符并且不在前导情况下赋值0
其他情况就是正常情况了
调了比较久,代码写的很...>..<
#include
#include
#include
#include
#include
#include
#include
1006
参考:传送门
关键要想到构成了这种循环节
#include
#include
#include
#include
#include
#include
#include
1011
题意:n双袜子放在橱柜里数字标号1~n,每天在橱柜拿一双袜子并且是当前数字最小的,当天晚上会把袜子扔进楼子里,当楼子里的袜子积累到n - 1双的时候,主人公会洗并且在第二天的晚上放进橱柜里,问第k天用的是那双袜子
思路:很显然k小于等于n时,答案就是k,k大于n是也知道前n次的结果,那么在第n天你用n这个袜子,之后n - 1天你可以用1 ~ n-1编号的袜子,那么在n + n - 1天你用的是n - 1这双袜子,之后n - 1天你可以用 1 ~ n - 2, n这袜子,规律很显然。
#include
#include
#include
#include
#include
#include
#include