数字趣事-组合差恒等于某个值

Linux 是洗衣粉 关于Linux 的10个趣事 今天,Linux操作系统驱动着超级计算机、子弹头列车、好莱坞电影、潜艇、国际空间站、纽约证券交易所等等。然而,Linux的诞生和旅程有许多发人深省和惊人的事实。 1、Linux作为一个目录名诞生 对于那些不知道的人,Torvalds最初将他的内核命名为“FREAX”——由“free”、“freak”和“x”(暗指Unix)组合而成。 当他的同事Ari Lemmke(他当时是FTP服务器的志愿管理员之一)将内核上传到FTP站点时,他不喜欢这个名字,他为源代码创建了子目录,并在没有询问Torvalds的情况 阅读详情

数字趣事-组合差恒等于某个值

从序列 [0-9] 10个数字中取 4 个元素进行组合、元素不允许重复
组成的最大值-最小值(最小值不能以0开头),得到的结果,重复此操作,直到结果不变

N = 3 得到的结果都是 495,有一个特例 (0,4,7) 结果是0
N = 4 得到的结果都是 6174

比如:随机选取 1 3 5 9 这四个数
取最大值和最小值 9531-1359=8172
再取最大值和最小值 8721-1278=7443
重复这个过程 ==>> 7443-3447=3996 9963-3699=6264 6642-2466=4176 7641-1467=6174 后边永远是 6174

import itertools as it
import time


def convert_2_int(arr_int):
    str_arrays = list(map(str, arr_int))
    combined_str = "".join(str_arrays)
    return int(combined_str)

def convert_2_array(val_int):
    num_str = str(val_int)
    return [int(v) for v in num_str]

def not_0_begin(int_arrays):
    not_0_index = 0
    for i in range(len(int_arrays)):
        if int_arrays[i] != 0:
            not_0_index = i
            break
    if not_0_index != 0:
        int_arrays[0], int_arrays[i] = int_arrays[i], int_arrays[0]            


def delta(values):
    values.sort()
    not_0_begin(values)
    min_val = convert_2_int(values)

    values.sort(reverse=True)
    max_val = convert_2_int(values)
    # print(max_val, min_val, max_val - min_val)
    return max_val - min_val


# 从序列 [0-9] 10个数字中取 N 个元素进行组合、元素不允许重复
# 组成的最大值-最小值(不能以0开头),得到的结果,重复此操作,直到结果不变
# N = 1,2 得到的结果都是 0
# N = 3 得到的结果都是 495,有一个特例 (0,4,7) 结果是0
# N = 4 得到的结果都是 6174
def combin_sub(count):
    result_all = {}
    last_result=None
    total_count = 0
    for result_beg in it.combinations([x for x in range(10)], count):
        total_count += 1
        result = list(result_beg)
        try_count = 100
        # 循环计算最大值-最小值,直到结果不变,为了防止死循环,这里最多100次, count >= 5 时,会写入死循环
        while(try_count > 0):
            try_count -= 1           
            result = delta(result)
            # print(last_result, result)
            if last_result == result:
                break
            last_result = result
            result = convert_2_array(result)

        if try_count > 0:  # 得到有效结果
            result_key = last_result
            if result_key in result_all:
                result_all[result_key].append(result_beg)
            else:
                result_all[result_key] = [result_beg]
        else:
            # print(f"{result_beg} not have result")
            pass
    return total_count, result_all


if __name__ == "__main__":
    for count in range(1, 5):
        print(f"=======calc: count {count}")
        beg_time = time.time()
        (total_count ,result_all) = combin_sub(count)
        for v in result_all:
            print(f"{v}, {len(result_all[v])}")
            if len(result_all[v]) < 10:
                print(f"{v}, {result_all[v]}")
        print(f"calc: count {count},{total_count} cost: {time.time() - beg_time: .3} s \n")


#   result
# =======calc: count 1
# 0, 10
# calc: count 1,10 cost:  9.7e-05 s 

# =======calc: count 2
# 0, 45
# calc: count 2,45 cost:  0.000678 s 

# =======calc: count 3
# 495, 119
# 0, 1
# 0, [(0, 4, 7)]
# calc: count 3,120 cost:  0.00187 s 

# =======calc: count 4
# 6174, 210
# calc: count 4,210 cost:  0.00633 s 
从PTA古风排版题出发,聊聊中文竖排历史与编程中的字符串处理趣事 本文从PTA平台的L1-039古风排版题切入,探讨中文竖排历史与编程字符串处理的关联。通过分析甲骨文到数字时代的排版演变,结合Python代码示例展示如何实现文字竖排转换,揭示传统文化与现代编程的奇妙碰撞。 阅读详情

相关推荐

数字IC笔试题——门控时钟与控制信号电平、与门门控、或门门控、上升沿门控、下降沿门控

从后端设计考虑,在必须使用门控时钟的时候,需要遵循一个原则:门控时钟的输出只能跟着时钟信号进行跳变,而不能跟着控制信号进行跳变,也就是说对于用NAND Gate或者AND Gate实现的门控时钟,控制信号只能在时钟的低电平处进行跳变;使用 ICG 集成门控的库或者原语,应该是不需要考虑的(如果要使用门控时钟,也只能用库或者原语,自己写的还是别用了)。使用下降沿的目的,保证时钟高电平时,输出端不会发生变化,跳变只出现在时钟的低电平区间。(2)ena 高电平开启门控,ena 的电平跳变必须在时钟的低电平区间;

DengFengLai123的博客 1558

逻辑代数的基本公式

数字电路基础——逻辑代数基本公式(b站视频笔记)

m0_72873854的博客 4708

Ambari 3.0.0 + BigTop 3.3.0 源码编译与集群部署指南(Kylin V10 / aarch64)

仅仅是针对“应用商店目录(Applications Catalog)”的一个外围附属子模块(它不是 YARN 监控大盘,不影响 YARN UI 网页的主体使用),我们可以采用。自带的 Node 二进制是 x86_64 版本,在 ARM64(aarch64)容器上无法执行(Exit value: 126)。:Ambari Server/Agent 使用 JDK 17,BigTop 大数据组件(Hadoop/HBase/Spark 等)使用 JDK 8。,源码中包含 x86 特定的原生二进制文件。

amumu1992的博客 491

背包问题趣事

今天快下班的时候,有一大学同学发过来一个excel,里面有54个数字,他问我能不能从这54个数字中找出n个数字,加起来刚好等于70708。刚开始就琢磨着用遍历算法来解决问题,想着想着感觉太晕了,复杂度太高了。灵感突然来袭,这不是在学校里面学过的典型的背包问题么,看来大学里面也不是什么都没有学到哈。知道了问题的出处,事情就好办了,下面直接上代码。 public class knapsac...

weixin_30730151的博客 91

一文介绍Linux EAS

EAS只在系统负载不重时,即系统中每个CPU的利用率都低于其算力的80%时才被启用,而且选出的最节能CPU只有比线程当前运行的CPU节约能量大于6%时,线程才会迁移到该CPU运行。因此EAS为线程选择最节约能量的CPU来运行的前提条件是很苛刻的,针对重载场景(比如游戏),EAS的功能应该很少被使用起来,针对重载场景的功耗优化,这里可能是一个值得尝试的点。算力(capacity)是CPU调度中的一个基础概念,它反映的是一个CPU的计算能力,是个规格化的值,可以通过读取Android手机的文件节点。

youzhangjing_的博客 1235

从机械臂示教到厨房做饭:ACT模仿学习如何让机器人更“人性化”?

本文探讨了ACT(Action Chunking with Transformers)模仿学习技术如何让机器人更“人性化”,特别是在厨房等复杂场景中的应用。通过动作分块(Action Chunking)和时态融合(Temporal Ensemble)技术,机器人能够像人类一样记忆和执行复杂任务,如烹饪。文章还分析了ACT在家庭场景中的落地挑战及其在康复医疗、柔性制造等领域的跨领域应用潜力。

weixin_30613343的博客 255

【C++那些趣事】如何让输出的内容变色

本文介绍了如何在C++中实现控制台输出内容变色效果。Windows系统需包含windows.h头文件,使用SetConsoleTextAttribute函数,可通过三基色表示法或颜色编号设置文本/背景颜色。Linux系统则使用"\033[颜色编号m"格式的ANSI转义序列。文章提供了详细的代码示例和颜色对照表,并指出需要注意颜色设置的持续性和不同系统的兼容性问题。这些技巧能让控制台输出更加醒目美观。

2401_85898378的博客 740

扣子工作流实战演练

例如,你可以在代码节点的输入中引用大模型节点的输出,这样代码节点就可以使用大模型节点的输出。扣子的工作流节点并不是固定的,而是由一系列可以任意添加的节点组成的,每个节点都有其特定的功能和用途。扣子工作流中常见的节点类型如图4-2所示。在图像生成节点中设置模型为人像,输入参数名为input,变量值引用开始节点的renwu,正向提示词为{{input}},如图4-19所示。然后添加两个节点,选择“图像生成”和“画板”,将“开始”节点、“图像生成”节点、“画板”节点、“结束”节点依次串联,如图4-17所示。

夏天又到了的专栏 1587

QQ后四位的趣事

QQ最后四位数 ,从倒数第四位到倒数第一位按照下面的顺序来哦: 倒数第四位是: 1.蜡笔小新 2.奥特曼 3.犀利哥 4.西施 5. 猪八戒 6.爆牙兄 7. 芙蓉姐姐 8.潇洒哥 9.美羊羊 0.章鱼哥 倒数第三位是: 1.在学校 2.在公交车上 3.在厨房 4.在厕所 5.在浴缸里 6.在阳台上 7.在书桌上 8.在床上 ...

web开发自学 87

数字电路复位信号设计(异步复位、同步释放)笔记详解

复位信号设计(异步复位、同步释放)笔记详解 1 时序设计 1.1 复位信号设计(异步复位、同步释放) 1.1.0 复位恢复时间和清除时间 首先解释一下恢复时间(recovery time)和清除时间(removal time):(以复位信号低电平有效为例) 复位恢复时间(recovery time):撤销复位时,复位信号无效到时钟有效沿来临之间需要维持的最小的时间,类似于同步时钟的建立时间setup time; 复位清除时间(removal time):复位时,在时钟有效沿来临之后复位信号还需要保持复位

weixin_42294124的博客 1万+

STM32实战:5分钟搞定MXL90614红外测温模块的I2C驱动(附完整代码)

本文提供了一份快速集成MLX90614红外测温模块的STM32实战指南。通过详细的软件I2C驱动代码,重点解析了SMBus通信协议、CRC校验及温度数据转换,帮助开发者避开常见陷阱,实现5分钟内完成模块驱动并读取准确温度值。

wasm7browser的博客 353

【题解】vijos P1071 新年趣事之打牌

相对复杂的背包问题。首先注意是判断组成总质量-剩下牌总重量的组成。利用类似的判断背包内数字组合的方法,只不过这次不是判断能不能组合而是求组合数目,利用这个数目=0就输出0,&gt;1就输出-1可以AC6个点。对于=1时求牌编号的情况,由于这种情况一定是唯一的,所以我们可以在求组合数目的时候就用fa数组记录下一个质量的上一个质量,用num数组记录这个质量由上一个质量推过来的编号。注意要判断编号被覆盖...

Rem_Inory的博客 353

手把手教你用TI MOSFET搭建0-100mA恒流源电路(附避坑指南)

本文详细介绍了如何使用TI MOSFET SI1204D搭建0-100mA恒流源电路,包括基础原理、电路设计、PCB布局和热管理技巧。通过分步指导和避坑指南,帮助工程师实现高精度、低成本的电流控制方案,适用于LED驱动、传感器激励等多种应用场景。

weixin_29310631的博客 484

Linux 是洗衣粉?关于Linux 的10个趣事

看看这些关于Linux及其广泛使用的令人惊讶的趣事。如果有什么要补充的,请在评论中分享。今天,Linux操作系统驱动着超级计算机、子弹头列车、好莱坞电影、潜艇、国际空间站、纽约证券交易所等...

关注微信公众号【开源Linux】,后台回复『10T』,领取10T学习资源大放送,涵盖Linux、虚拟化、容器、云计算、网络、Python、Go等书籍和视频 234

GJB软件需求规格说明-编制指南

《软件需求规格说明》是软件开发过程必不可少的文档,并且需要评审,也是后续鉴定试验的依据,因此,非常有必要认真对待此文档。 文档对于很多开发技术人员来说是一件非常头疼的事,虽然标准有要求,但是光看标准还是难以下笔。 本文将详细讲解如何按照GJB 438C的要求编写《软件需求规格说明》。 注:文中有背景颜色内容为标准内容,加粗部分为范例。斜体部分为解释。 全文1.3万字

Abel的博客 6361

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

js里面字符数字和数字相加_「译」5 个奇怪的只会在 JS 里才发生的趣事

JavaScript 是一门棘手的语言,就其代码的解析和运行方式,容易让人感觉困惑。这是一门面向对象的语言,但很多年来语言标准里没有类。它最初是为浏览器创造的,但现在也可以在服务器上运行,还可以操作文件系统。多年以来,我碰到了一些特殊且有趣的代码。下面展示的这些例子仅适用于 JavaScript,我总结了 5 个。1. 连接数组得到的是字符串用 + 号连接数组得到的结果是字符串。这件令人困惑的事情...

weixin_39593277的博客 184

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

「译」5 个奇怪的只会在 JS 里才发生的趣事

JavaScript 是一门棘手的语言,就其代码的解析和运行方式,容易让人感觉困惑。这是一门面向对象的语言,但很多年来语言标准里没有类。它最初是为浏览器创造的,但现在也可以在服务器上运行,还可以操作文件系统。 多年以来,我碰到了一些特殊且有趣的代码。下面展示的这些例子仅适用于 JavaScript,我总结了 5 个。 1. 连接数组得到的是字符串 用 + 号连接数组得到...

小分享 728

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

密码锁(春季每日一题 29)

农夫约翰的奶牛们总是偷偷的逃出他的农场,去外面为非作歹。 农夫约翰为了防止它们私自逃离农场,购买了一个密码锁,以此阻止奶牛们打开农场大门。 约翰知道他的奶牛们都非常聪明,因此他想要确保它们不能通过简单的尝试一些密码组合,就轻易的将锁打开。 锁具上有三个密码拨盘,每个拨盘上的数字为 1…N1…N1…N,其中 111 和 NNN 相邻(因为拨盘是圆形的)。 一共有两种可以打开密码锁的数字组合,一组是约翰设置的密码组合,一组是制造商设置的密码组合。 这种锁具有一定的容错性,只要三个表盘上的数字与任意一组正确密码组

多思考🤔~ 1020

数字沟通新语言:从表情符号到专业字符的实用指南

本文探讨了数字沟通中从表情符号到专业字符的实用技巧,涵盖Unicode编码发展、表情符号的社交艺术、专业场景应用及跨文化注意事项。特别解析了如何在职场和跨国沟通中精准使用符号,避免歧义,并分享提升输入效率的实用工具和创意表达方法,助力读者掌握数字时代的新语言。

weixin_29095049的博客 223

从ASCII码到Unicode,最终选择UTF-8编码的趣事【学习笔记】

https://www.bilibili.com/video/BV1h7411V7Xw?from=search&seid=6458930640632168365 上面链接位B站视频链接,讲的是字符串编码,是我所看到的讲解最好的一个,希望对你有帮助。 上一张图: 以下位对上图的一种解释。 在计算机中,基本的存储单位为位:bit 一个位可以表示两种数字0和1,一个字节(Byte)= 8位(bit) 可以表示成256种组合 如何把数字汉字等字符存储在计算机中,工程师们发明了一种ASCII 码,上个实际60

求津问道的博客 331

广告行业中那些趣事系列71:使用chatgpt来抽取关键词实践

导读:本文是“数据拾光者”专栏的第七十一篇文章,这个系列将介绍在广告行业中自然语言处理和推荐系统实践。本篇介绍了使用chatgpt模型通过prompt engineer技术来抽取关键词,对于希望学习ChatGPT并应用到实践的小伙伴可能有帮助。欢迎转载,转载请注明出处以及链接,更多关于自然语言处理、推荐系统优质内容请关注如下频道。知乎专栏:数据拾光者公众号:数据拾光者01 背景介绍关于关键词抽取方...

abc50319的专栏 1309

dp 部分和问题及其扩展

** 一.部分和问题 ** 给定整数 a1、a2、…、an,判断是否可以从中选出若干数,使它们的和恰好为 k。 首先,我们定义dp数组 dp[i][j] 代表使用前i个数字能否组成j这个数字 其次,我们发现dp[i][j] 是可以由dp[i-1][j-a[i]] 推出的,因此我们由状态转移方程 dp[i][j] |= dp[i-1][j-k* a[i] (k=0,1 且 j>=k*a[i[) 初始化:dp[0][0] = 0; #include <bits/stdc++.h>

qq_50748356的博客 1017

飞书、钉钉、企业微信接入AI编程Agent:WeSight IM Agent Hub多通道配置实战

**WeSight 的 IM Agent Hub 功能可以让飞书、钉钉、企业微信等 IM 机器人直接驱动 AI 编程 Agent**,在聊天窗口里一句话就能调用 Claude Code、Codex、OpenClaw 等引擎完成编码任务。本文带你完成多通道接入配置。 [![WeSight IM Agent Hub 协作工作台,任务列表中可见来自飞书频道的 Agent 会话](https://raw

gitblog_09704的博客 973

JAVA 蓝桥杯 B组马虎的算式

马虎的算式 小明是个急性子,上小学的时候经常把老师写在黑板上的题目抄错了。 有一次,老师出的题目是:36 x 495 = ? 他却给抄成了:396 x 45 = ? 但结果却很戏剧性,他的答案竟然是对的!! 因为 36 x 495 = 396 x 45 = 17820 类似这样的巧合情况可能还有很多,比如:27 x 594 = 297 x 54 假设 a b c d e 代表1~9不同的5个数字(注意是各不相同的数字,且不含0) 能满足形如: ab x cde = adb x ce 这样的算式一共有多少种呢

m0_46625346的博客 539

有趣的年龄故事

数学家诺伯特.维纳的年龄趣事 20世纪著名数学家诺伯特.维纳,从小就智力超常,三岁时就能读写,十四岁时就大学毕业了。几年后,他又通过了博士论文答辩,成为美国哈佛大学的科学博士。   在博士学位的授予仪式上,执行主席看到一脸稚气的维纳,颇为惊讶,于是就当面询问他的年龄。维纳不愧为数学神童,他的回答十分巧妙:“我今年岁数的立方是个四位数,岁数的四次方是个六位数,这两个数,刚好把十个数字0、1、2、...

weixin_30439031的博客 210
上一篇: python工具-解析wireshark的rtp抓包
下一篇: python工具-udp-tcp-client-server-demo
knowledgebao
博客等级 码龄15年 401粉丝 198原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值