首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

零基础学Python之42:水仙花

10) ** 3 + int((m / 10) % 10) ** 3 + int(m / 100) ** 3 第三步,所有的三位就是从100到999,利用range()函数,注意range()函数里有一个差...,对于n位数,每个位上的数字的 n 次之和如果等于它本身,这种数在数学上还有一个统一的称呼:。...中国人给它们起了一些有趣的名字: 一位:独身 两位:无 三位:水仙花 四位:四叶玫瑰 五位:五角星 六位:六合数 七位:北斗七星 八位:八仙...九位:九九重阳 十位:十全十美 对于三位,上面的程序没问题,但对于n位数,程序需要调整一下,先从4位入手: m = 1634print(m % 10) print(int(m /...,花不了几秒钟,而要找7位,则需要运行几分钟,我在我的机器上跑了110秒。

2.3K21

动态规划 多重计数

将这些变量依序作底和各层,可得n重如下: 这里将上述 n 重看作是不确定的,当在其中加入适当的括号后,才能成为一个确定的 n 重。不同的加括号方式导致不同的 n 重。...例如,当 n=4 时,全部 4 重有 5 个。 «编程任务: 对 n 个变量计算出有多少个不同的 n 重。 输入 只有一行,提供一个 n 。...输出 将找到的序关系数输出 样例输入 4 样例输出 5 提示   动态规划是把大问题拆分成小问题,通过寻找大问题与小问题的递推关系,解决一个个小问题,最终达到解决原问题的效果。...来源 基本算法-动态规划 分析 既然该题属于动态规划类型,自然想到利用递归函数解决问题。...递归算法依赖复杂度最小的几项的结果,通过简单的穷举,我们得到n在5以内的F(n): n 0 1 2 3 4 F(n) 0 1 1 2 5 优化:记忆化搜索 我们用递归可以很简单的实现以上代码,但是有个严重的问题就是, 直接采用顶向下的递归算法会导致

63420
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    JavaScript计算水仙花【可自定义范围】

    水仙花数百科 水仙花是指一个 n 位正整数 ( n≥3 ),它的每个位上的数字的 n 次之和等于它本身。...(例如:1^3 + 5^3+ 3^3 = 153) 什么是水仙花 水仙花数只是的一种,严格来说三位的3次才成为水仙花。...附:其他位数的数名字 一位:独身 两位:没有 三位:水仙花 四位:四叶玫瑰 五位:五角星 六位:六合数 七位:北斗七星 八位:八仙 九位...:九九重阳 十位:十全十美 常见水仙花 水仙花又称阿姆斯特朗。...三位的水仙花共有4个:153,370,371,407; 四位的四叶玫瑰共有3个:1634,8208,9474; 五位的五角星共有3个:54748,92727,93084; 六位的六合数只有1个:548834

    1.2K70

    java 水仙花(循环)

    水仙花(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋、阿姆斯壮或阿姆斯特朗(Armstrong...number),水仙花是指一个 3 位数,它的每个位上的数字的 3 次之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。...定义 水仙花数只是的一种,严格来说 3 位数的 3 次才称为水仙花。...附:其他位数的数名字 一位:独身 两位:没有 三位:水仙花 四位:四叶玫瑰 五位:五角星 六位:六合数 七位:北斗七星 八位...:八仙 九位:九九重阳 十位:十全十美 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24

    59830

    水仙花 -- C++ 实现

    水仙花(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋、阿姆斯壮或阿姆斯特朗(Armstrong...number),水仙花是指一个 3 位数,它的每个位上的数字的 3次之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。...1.算法分析 将给出的数字拆分成百位,十位和个位,将它们存储到变量中并用这些求其立方和,若该的立方和等于这个数,则这个数为水仙花。...pow(b,3)+pow(c,3)==i) { cout<<i<<endl; } } return 0; } 4.扩展资料 四位...:四叶玫瑰 五位:五角星 六位:六合数 七位:北斗七星 八位:八仙 九位:九九重阳 十位:十全十美

    1.5K20

    计算机中的数学【水仙花】求解自然中所有的水仙花

    在数论中,水仙花(Narcissistic number),也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋、阿姆斯壮或阿姆斯特朗(...水仙花数只是的一种,严格来说3位的3次才称为水仙花。...附:其他位数的数名字 一位:独身 两位:没有 三位:水仙花 四位:四叶玫瑰 五位:五角星 六位:六合数 七位:北斗七星 八位...:八仙 九位:九九重阳 十位:十全十美 ?...也就是说,n 位水仙花最小的数字是10^(n-1) , 例如,3位水仙花最小是10^2 = 100, 这个是个,n 位最小的都大于各个位上的数字的 n 次和最大值: n * 9^n 。

    1.9K20

    最全的JavaScript 算法与数据结构

    数据结构 数据结构是在计算机中 组织和存储 据的一种特殊方式, 它可以高效地 访问和修改 数据。更确切地说, 数据结构是数据值的集合, 它们之间的关系、函数或操作可以应用于数据。...B 阶乘 B 斐波那契 B 素数检测 (排除法) B 欧几里得算法 - 计算最大公约数 (GCD) B 最小公倍数 (LCM) B 素数筛 - 查找所有素数达到任何给定限制 B 判断2次方 - 检查数字是否为...2的 (原生和按位算法) B 杨辉三角形 A 整数拆分 A 割圆术 - 基于N-gons的近似π计算 集合 B 笛卡尔积 - 多集合结果 A 集 - 该集合的所有子集 A 排列 (有/无重复) A...否则回溯并继续寻找不同路径的解决方案。.../src/playground/playground.js文件中操作数据结构与算法, 并在./src/playground/__test__/playground.test.js中编写测试。

    1.4K10

    JavaSE学习总结(三)——Java语言编程练习、格式化字符与常量

    四、水仙花() 水仙花是指一个 n 位正整数 ( n≥3 ),它的每个位上的数字的 n 次之和等于它本身。...(例如:1^3 + 5^3+ 3^3 = 153) 水仙花数只是的一种,严格来说三位的3次才成为水仙花。...附:其他位数的数名字 一位:独身 两位:没有 三位:水仙花 四位:四叶玫瑰 五位:五角星 六位:六合数 七位:北斗七星 八位:八仙 九位...:九九重阳 十位:十全十美 常见水仙花 水仙花又称阿姆斯特朗。..._3; /** * 水仙花是指一个 n 位正整数 ( n≥3 ),它的每个位上的数字的 n 次之和等于它本身。

    1.1K80

    【大型网站技术架构笔记】(三)高性能与高可用架构

    2.并发。如果暂时没有对应的准确监控,针对不同业务模型,可以有不一样的并发的预估。我们的系统进行峰值并发预估的话,有一种比较粗略的计算方式,即全天请求平均每秒并发 * 3。...系统负载的定义为当前被CPU执行的线程/等待被CPU执行的总线程。当其值与逻辑cpu个数相同时是最佳状态,其代表所有的资源都被最大限度地被利用。...css放置在页面最上方,js放下最下面。以提前进行css渲染。同时避免js带来的页面阻塞。但需要case by case。比如页面dom节点需要依赖js生成,则可视情况改变文件位置。...等设计。重复的操作不会带来数据状态的变化即称等性。除了一些核心写库、交易等操作,其余尽量设计为等操作,以便定制负载均衡和失败策略。 高可用的数据 采用数据备份和失效转移。数据备份分为冷备和热备。...利用缓存。缓存已经越发成为大型系统中不可分割的数据层组成部分。 利用分布式存储系统,比如NFS,比如Hadoop进行数据存储。

    55531

    《JavaSE-习题篇一》之小题目,大道理

    一个大于1的自然,除了1和它自身外,不能被其他自然整除的叫做质数;否则称为合数(规定1既不是质数也不是合数)。...题目一:判断一个否是素数 分析:根据素数的定义可知,素数是除了1和自身以外不能被其它整除,所以我们可以通过枚举2到我们判断的之间的是否存在可以被我们要判断的整除,如果有则不是素数,反之则是素数。... 定义:如果在一个固定的进制中,一个n位自然等于自身各个数位上数字的n次之和,则称此。...求1~n范围内的 分析:首先我们需要判断这个数是几位数,其次需要拿到该的每一位,最后进行判断自然是否等于自身各个数位上数字的n次之和。...(小数点后面的) 统计二进制位中的1的个数 分析:利用任何一个按位于1之后结果还是1,基于此结论我们可以将一个的32个比特位与1按位于之后判断结果是否为1,再将该右移,在次重复上述的计算.而我们只需定义一个计算器去统计一个按位于

    16440

    重学javascript 红皮高程(5)

    JS这项技术,细节到位了,就会一通百通。经常在网上看到说学一个框架,最有效的办法是去看它的源码。但我经常看不懂,为什么呢?因为我基础不好,不明白源码中的一些写法的含义。...所以,一切尽在JS基础之中。 也知道你们不爱看这个,从每天公众号的阅读量上就能看出来。...随便写点什么上班、职场、工作中的扯淡事,这阅读量啊,这留言啊,这粉丝啊,哗哗的涨,但是没什么用啊,光看这些你能找着工作嘛,看我写那些扯淡的玩艺儿你能通过面试嘛。...这种方法一般用在特别大或小的数字上,就是零特别多的。 用e表示法表示的,等于e前面的数值乘以10的指数次, 这句话是TMD的什么意思? ?!杨?...,该值与前面的相乘。

    68450

    位运算

    可以利用|运算。 1|0=1 1|1=1 0|0=0 0|1=1 1按位或(0/1)结果都为1,0按位或(0/1)结果都是(0/1)。...那么只需要构造出第j位为1,其他位为0的,将这个数与要修改的进行按位或即可。...那么只需要构造出第j位为0,其他位为1的,将这个数与要修改的进行按位或即可。 x=x|(~(1<<j)) ^性质的技巧 "a^b"按二进制位进行“异或”运算。...存在“交换律”,a^b=b^a 所以,a^b^a=b 偶数个相同的数字进行异或运算,结果为0 寻找奇数次数字 利用^“偶数个相同的数字进行异或运算,结果为0”的特性,将所有的数字进行异或计算,最后剩下的就是出现奇数次的数字...180831 格雷码 统计两个整数的二进制中不同的数位 利用异或的特性,相同为0,不同为1,将两个数字异或,不同的二进制位就为1,相同的二进制位就为0。

    87210

    NioEventLoopGroup源码解析

    ---- NioEventLoopGroup的初始化源码 一、寻找源码的过程 我们前面说到过,NioEventLoopGroup我们可以近乎把它看作是一个线程池,该线程池会执行一个一个的任务,我们常用的...是DefaultEventExecutorChooserFactory类型的,忘了的可以往上翻一下寻找源码的过程中的代码或者调试一下!...实现这个 也能实现循环取的 //executors 就是NioEventLoop数组 按照2次求本次获取的EventLoop是个啥 return executors[idx.getAndIncrement...() & executors.length - 1]; } 这段代码的主要逻辑是,取一个增的CAS类,与数组长度做&运算,最终会出现循环取的结果: ?...EventExecutor[] executors) { this.executors = executors; } @Override public EventExecutor next() { //

    68950

    如何写好JavaScript

    /CSS/JavaScript各司其责 HTML -> Structural ; CSS -> Presentational ; JavaScript -> Behavioral 应当避免不必要的由JS...直接操作样式 可以用class来表示状态 纯展示类交互应寻求零JS方案 组件封装 组件是指Web页面上抽出来的一个个包含模块(HTML)、样式(CSS)和功能(JS)的单元。...结构设计:HTML 展现效果:CSS 行为设计:JS API(功能),API 设计应保证原子操作,职责单一,满足灵活性。 Event(控制流),使用自定义事件来解耦。...判断是否是4的 常规操作 优化版本1,利用 4 的的二进制最高位为1,低位为偶数个0 优化版本2,利用正则表达式 const isPowerOfFour = (num) => { num...:00)*$/.test(num); } 实现交通灯切换效果 版本一,利用setTimeout,可能出现回调地狱 优化版本,利用async/await 洗牌算法 错误示例 看似可以正确洗牌,但实际上较小的牌放到前面的概率更大

    47120

    OverIQ 中文系列教程【翻译完成】

    C 程序:计算一个的阶乘 C 程序:寻找阿姆斯特朗 C 程序:寻找素数 C 程序:生成斐波那契数列 C 程序:计算一个的十进制位总和,直到总和减少到一位 C 程序:计算数字位数 C 程序:反转数字十进制位...C 程序:计算自然N项之和 C 程序:检查数字是偶数还是奇数 C 程序:寻找二次方程根 C 程序:打印三元组数字 C 程序:使用俄国农夫法相乘两个数 C 程序:计算给定金额面额 C 程序:检查数字是否是回文...C 程序:确定三角形的类型和面积 C 程序:打印两个范围之间的孪生素数 C 程序:使用单词打印两位数 C 程序:计算一个 C 程序:寻找三个数字中最大值 C 程序:寻找数字的乘积 C 程序:计算排列组合...C 程序:使用递归计算 C 程序:使用递归打印斐波那契数列 C 程序:使用递归反转数字 C 程序:使用递归将十进制转换成二进制、八进制和十六进制 C 程序:将十进制转换成二进制 C 程序:将十进制转换成十六进制...(改编维基百科) 联系方式 负责人 飞龙: 562826179 其他 在我们的 apachecn/overiq-zh github 上提 issue.

    1.5K20

    如何写好JS代码

    我们再来看个判断是否是4的的案例,来理解下高效率方案需要结合使用场景的说法。判断是否是4的判断一个是否是4的,正向思维,我们会去对这个数除4,再取余,若有余数则该不是4的。...while(num > 1){ if(num % 4) return false; num /= 4; } return true;}复制代码如果判断的很大...version3版本的代码执行效率较高,代码风格很简洁,适用于大数判断是否是4的。但如果只是较小的数字判断,则不需要太费心思去考虑高效算法。...如果判断的数字较小,我们可以利用刚转换成二进制的特征和js的正则匹配来实现,具体代码如下:version4function isPowerOfFour(num){ num = parseInt(num...:00)*$/.test(num);}复制代码总结我们要真正写好JS代码,首先需要关注代码的正确性,保证程序在线上正常运行不出bug。

    1.9K30
    领券