【每周一坑】求乘积最大

明天就是五一小长假了,又到了换个地方领略祖国大好河山上的人民的时候了,祝大家长假愉快。

在放假之前,利用一点儿闲暇时间,看看本周的题目吧。

设定一个长度为 N 的数字串,将其分为两部分,找出一个切分位置,使两部分的乘积值最大,并返回最大值。

示例:

def product(num):
  '''
  >>>product(312)
  62
  >>>product(1234)
  492
  >>>product(12345)
  6170
  >>>product_2(123456)
  74070
  '''

附加题:

输入的数字串可以重新打乱排列,比如输入 123 ,打乱排列之后会有 132,213,231,312,321 等情况,其他条件不变,求最大值。

def product_2(num):
  '''
  >>>product_2(1234)
  1312
  >>>product_2(12345)
  22412
  >>>product_2(123456)
  342002
  '''

题目介绍完毕。

【程序员的浪漫】解答

上周的题目主要考察 python 中两大加密模块的知识,由于 hashlib.md5 无法简单的破解,所以给出了 4 个选项,按照先 md5 加密,然后 base64 加密的顺序逐个遍历选项便可以得到正确答案。

代码:

import base64import hashlib

choices = [        
'多喝热水',        
'我们在一起吧',        
'我选择原谅你',        
'别说话,吻我'
        ]
encrypted_string = 'NDRiMWZmMmVjZTk5MTFjMWI1MDNkYTY0MzZlYTAzMTA=\n'

def decrypt(choices,string):
    for i in choices:
        md5 = hashlib.md5()
        md5.update(i.encode('utf-8'))
        md5_s = md5.hexdigest()
        base64_s = base64.encodestring(md5_s.encode('utf-8'))        
        if base64_s == string.encode('utf-8'):           
            return i

print(decrypt(choices,encrypted_string))

上期有很多同学都答对了,答案是 "多喝热水" 。恭喜以下同学:

YUAN,王任,GS,大魔王Fisher,痴梦。

另外,代码也可以参考:

@王任:http://paste.ubuntu.com/24426729/

@无名同学:https://gist.github.com/FingerRec/e97704192eeab1945807c78f299ef51e

『码上行动』在线学习班正在开放中,详情回复 码上行动

原文发布于微信公众号 - Crossin的编程教室(crossincode)

原文发表时间:2017-04-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据文摘

业界 | 用Python做数据科学时容易忘记的八个要点!

虽然我们在StackOverflow或其他网站上查找答案是很正常的事情,但这样做确实比较花时间,也让人怀疑你是否完全理解了这门编程语言。

13000
来自专栏java一日一条

哪些因素影响Java调用的性能?

这得从一个小故事说起。我在一个Java核心库的邮件列表中提交了一个修改 ——重写了一些本是 final 的方法。一石激起千层浪,这一改动引发了几番讨论。而其中一...

14110
来自专栏怀英的自我修炼

Java漫谈2

本周我们的Java漫谈从一个段子说起。话说有一个老程序退休了,在家闲着没事便开始学习写毛笔字,焚香,研墨,铺纸。站在薄如蝉翼白似雪的宣纸面前,提笔闭目。只见那人...

34480
来自专栏即时通讯技术

字符编码那点事:快速理解ASCII、Unicode、GBK和UTF-8

原作者:阮一峰(ruanyifeng.com),现重新整理发布,感谢原作者的无私分享。

28720
来自专栏测试开发架构之路

C语言程序设计50例(二)(经典收藏)

【程序11】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月    后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总...

509100
来自专栏数据分析

[数据清洗]- Pandas 清洗“脏”数据(三)

预览数据 这次我们使用 Artworks.csv ,我们选取 100 行数据来完成本次内容。具体步骤: 导入 Pandas 读取 csv 数据到 DataFra...

48380
来自专栏数据小魔方

R语言数据清洗实战——高效list解析方案

list是R语言中包容性最强的数据对象,几乎可以容乃所有的其他数据类型。 但是包容性最强也也意味着他对于内部子对象的类型限制最少,甚至内部可以存在递归结构,这样...

54040
来自专栏数据结构与算法

P2051 [AHOI2009]中国象棋

题目描述 这次小可可想解决的难题和中国象棋有关,在一个N行M列的棋盘上,让你放若干个炮(可以是0个),使得没有一个炮可以攻击到另一个炮,请问有多少种放置方法。大...

29250
来自专栏Android 开发者

[译] Kotlin 揭秘:理解并速记 Lambda 语法

在奥地利旅行期间,我参观了维也纳的奥地利国家图书馆。特别是国会大厅,这个令人惊叹的空间感觉就像印第安纳琼斯电影中的一些东西。房间周围的空间是这些门被装在架子上,...

10100
来自专栏陈纪庚

使用装饰者模式做有趣的事情

装饰者模式是一种为函数或类增添特性的技术,它可以让我们在不修改原来对象的基础上,为其增添新的能力和行为。它本质上也是一个函数(在javascipt中,类也只是函...

8820

扫码关注云+社区

领取腾讯云代金券