Python 实现2^k进制数

k,w=map(int,input().split())
wd,wm=divmod(w,k)
def c(m,n):
    if n>m:
        return 0
    if n<0:
        return 0
    s=1
    for i in range(n):
        s=s*(m-i)/(i+1)
    return round(s)
s0=sum([c(2**k-1,i) for i in range(2,wd+1)])
s1=sum([c(2**k-1-x0,wd) for x0 in range(1,2**wm)])
print(s0+s1)

这次代码不是我写的…不过从大佬的代码中提前接触了map、divmod、[xxxx for i in range()] 的使用,也算有收益了

 


题目描述

设r是个2^k 进制数,并满足以下条件:
(1)r至少是个2位的2^k 进制数。
(2)作为2^k 进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位。
(3)将r转换为2进制数q后,则q的总位数不超过w。
在这里,正整数k(1≤k≤9)和w(k〈w≤30000)是事先给定的。

问:满足上述条件的不同的r共有多少个?
我们再从另一角度作些解释:设S是长度为w 的01字符串(即字符串S由w个“0”或“1”组成),S对应于上述条件(3)中的q。将S从右起划分为若干个长度为k 的段,每段对应一位2^k进制的数,如果S至少可分成2段,则S所对应的二进制数又可以转换为上述的2^k 进制数r。
例:设k=3,w=7。则r是个八进制数(2^3=8)。由于w=7,长度为7的01字符串按3位一段分,可分为3段(即1,3,3,左边第一段只有一个二进制位),则满足条件的八进制数有:
2位数:高位为1:6个(即12,13,14,15,16,17),高位为2:5个,…,高位为6:1个(即67)。共6+5+…+1=21个。
3位数:高位只能是1,第2位为2:5个(即123,124,125,126,127),第2位为3:4个,…,第2位为6:1个(即167)。共5+4+…+1=15个。
所以,满足要求的r共有36个。

输入

只有1行,为两个正整数,用一个空格隔开:
k w

输出

1行,是一个正整数,为所求的计算结果,即满足条件的不同的r的个数(用十进制数表示),要求最高位不得为0,各数字之间不得插入数字以外的其他字符(例如空格、换行符、逗号等)。
(提示:作为结果的正整数可能很大,但不会超过200位)

样例输入
3  7
样例输出
36

Python实现回文数字列出

def isHuiwen(n):
    reversed_str= str(n)
    return reversed_str == reversed_str[-1::-1]
n = eval(input())
i = 10000
count = 0

if 10<n<100:
    while(i<=999999):
        rs = 0
        ii = str(i)
        if isHuiwen(i) == True:
            for j in range(len(ii)):
                rs+=int(ii[j])
            if(rs == n):
                count += 1
                print(i)

        i+=1

    if count == 0 :
        print(-1)
else:
    print(-1)
观察数字:12321,123321  都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的。这样的数字叫做:回文数字。

本题要求你找到一些5位或6位的十进制数字。满足如下要求:
该数字的各个数位之和等于输入的整数。

输入
一个正整数  n  (10< n< 100),  表示要求满足的数位和。
输出
若干行,每行包含一个满足要求的5位或6位整数。
数字按从小到大的顺序排列。
如果没有满足条件的,输出:-1

Discuz!教程之启用HTTPS后解决各处遗留http://

首先,申请并且配置好服务器ssl证书(阿里、腾讯都有免费的,同时都有教程)

配置完毕后需要配置以下几处

1.后台,全局,站点URL

2.后台,站长,ucenter设置

3.ucenter,应用,编辑

4.修改模版各处http://为https://

这里为模版文件较多的用户提供一个简单的批量的https://模版替换教程(开启伪静态的可用)

打开source/function/function_core.php

搜索

$content = output_replace($content);

在下面加入

$content = str_replace(‘http://www.xxx.com’,’https://www.xxx.com’,$content);

如果你有多个二级域名,可以加入

$content = preg_replace(‘http://(.*?)xxx.com’,’https://\1xxx.com’,$content);

懒散了好久….

🤐 话说好久没码程序了…大多都忘得差不多了,明天还得练车调整好心态。

不过没事!我想任何学问都是一样的,就像武学的极境便是大道至简,返璞归真。

跳出条条框框也会是一种新的境界。


废话不多说,继续立下学期的flag!

  1. 围棋
  2. 吉他
  3. 至少去1个没到过的城市
  4. SSM框架
  5. Android
  6. STM32
  7. Linux
  8. C语言
  9. 看完名侦探柯南
  10. 证券从业资格证
  11. 至少看1本哲学相关书籍、1本金融相关书

…….

楼层日后更进

自动刷学识

😂 本来学识都看完了的!还是熬夜刷完,结果因为之前从C2转C1,准备预约科目一才知道都白看了,好吧!再看一遍是不可能的,那就写一个脚本自动看吧~

改进代码

setInterval(function(){
 chapterWareId = nxtNode;
        chapterId = nxtChapterId;
        firstWareMark = 1;
        curCourseId = getCurCourseId(chapterId);
        selectingNode = zTreeObj.getNodeByParam("id",chapterId, null);
        player_mp4(chapterId,curCourseId);
 setTimeout(function(){
  $("button").click();
  console.log(true);
 },1000);
},9000);

 

Hello Android!

Hello World ,记录下遇到的小问题。

创建工程完死活不能构建gradel,我开了ss却怎么也下在不了,经过一番百度 需要在 .gradle/gradle.properties 中注释代理,然后在build.gradle中 添加阿里巴巴源

allprojects {
    repositories {
        google()
        jcenter()
        maven {
            url 'http://maven.aliyun.com/nexus/content/groups/public/'
        }
    }
}