记录一些简单的暴力破解法带来的思考,基于刘佳汝的书籍例题7.1~7.5

例题7-1:

输入正整数n,按从小到大的顺序输出所有形如abcde / fghij = n 的表达式,其中a~j恰好为0~9的一个全排列(可以有前导0),2 <= n <= 79。

思考:

设M / N = n

这道题在做的时候的一个细节没有走最优化的路线导致我的算法较为卡顿,原因是没有反向思考问题。我一直想的是遍历M,再根据M求的N的组成数字,再来便利N的所有可能取值,而最优化的方式却是:便利N(N的范围较小),再根据N和n求的这种情况下的M,再把(M,N)带入一个函数检查其是否用完了0~9.

如果直接求的某种个值麻烦的时候想一想有没有简单的方式来做。

例题7-2:

找出一个n个元素组成的序列S的乘积最大的连续子序列,如果全部是负数则输出0。(1 <= n <= 18, -10 <= S <= 10)

思考:

很简单的遍历,i为起点,j为终点,i从0到n-1,j从i到n-1.唯一要小心的是数值的范围可能超过int(int:2.1 * 10^9,long:9.2*10^18)。

例题7-3:

分数拆分

先简化问题,优化思路再开始编写。

例题7-4

素数环

记得cur的重要意义。

例题7-5

一步一步拆解问题

时间: 2024-10-12 13:36:14

记录一些简单的暴力破解法带来的思考,基于刘佳汝的书籍例题7.1~7.5的相关文章

[Algorithm]暴力破解法-百钱买百鸡

暴力破解法一般指穷举法.穷举法的基本思想是根据题目的部分条件确定答案的大致范围,并在此范围内对所有可能的情况逐一验证,直到全部情况验证完毕.若某个情况验证符合题目的全部条件,则为本问题的一个解:若全部情况验证后都不符合题目的全部条件,则本题无解.穷举法也称为枚举法. 用穷举法解题时,就是按照某种方式列举问题答案的过程.针对问题的数据类型而言,常用的列举方法一有如下三种: (1)顺序列举 是指答案范围内的各种情况很容易与自然数对应甚至就是自然数,可以按自然数的变化顺序去列举. (2)排列列举 有时

【笔记】网易微专业-Web安全工程师-04.WEB安全实战-2.暴力破解

KP君之前买了一个拉杆箱,在初始设置密码时不熟悉步骤,一时手抖,密码已经设好,但不知道设置了什么密码,欲哭无泪.想要找回密码,只能一个个试验,拉杠箱的密码锁有3位,对应000~999,那么最多需要1000次就能打开密码,这就是简单的"暴力破解". 暴力破解(Brute Force):核心就是"穷举法",猜出用户的密码.看起来似乎工程量很大,但是通常用户设置密码都不太复杂,因此利用常用的密码字典,就能破获大部分的密码.理论上来说,只要给定足够的时间,暴力破解就一定能破

htpwdScan — 一个简单的HTTP暴力破解、撞库攻击脚本

李姐姐之前跟我们分享了子域名枚举工具subDomainBrute<subDomainsBrute — 改进渗透测试时暴力枚举子域名的python脚本>,这回带给我们htpwdScan htpwdScan 是一个简单的HTTP暴力破解.撞库攻击脚本: 1. 支持批量校验并导入HTTP代理,低频撞库可以成功攻击大部分网站,绕过大部分防御策略和waf2. 支持直接导入互联网上泄露的社工库,发起撞库攻击3. 支持导入超大字典4. 其他细微功能:随机X-Forwarded-For.随机SessionID

Java--算法特训(1)暴力破解和实用性优先

第一节课的主要内容:暴力破解与实用性优先 (1)暴力破解在大赛及企业应用中的重要性 (2)暴力破解中的实用性原则 (3)逆向解法 (4)枚举法 题目一: 美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学.他曾在1935~1936年应邀来中国清华大学讲学. 一次,他参加某个重要会议,年轻的脸孔引人注目. 于是有人询问他的年龄,他回答说: "我年龄的立方是个4位数.我年龄的4次方是个6位数.这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次." 请你推算一下,他当时

云平台数据库安全系列之(一)暴力破解

各行业的企业.个人.开发者希望以低成本的方式实现IT运维外包,通过互联网云服务器实现快速数据分享,充分享受云计算带来的便利,这正是云的魅力所在. 对于快速增长的云应用,在享受随时.随地.随需的高效云服务的同时,企业和个人用户同样面临一个不容忽视的问题:企业重要数据和个人隐私数据保存在云平台的数据库中,如果这些数据资产丢失将会造成巨大损失. 一.云平台下暴力破解攻击现状 暴力破解攻击是云用户面临的最主要威胁之一,以某云平台防护的日常安全运营记录为例,每周黑客对云租户的暴力破解数量高达数亿次.下图是

Wordpress xmlrpc.php暴力破解漏洞

Wordpress xmlrpc.php暴力破解漏洞 wordpress是很流行的开源博客,它提供远程发布文章的方法,就是使用跟路径的xmlrpc.php这个文件,最近爆出xmlrpc漏洞,漏洞原理是通过xmlrpc进行认证,即使认证失败,也不会被Wordpress安装的安全插件记录,所以不会触发密码输错N次被锁定的情况.因此就可能被暴力破解,如果密码又是弱口令的话,就相当危险了.最简单的解决办法,就是删除xmlrpc.php这个文件.闲来无事,用java写了暴力破解的脚本,其实就是拿着各种用户

树莓派保卫战--防止SSH暴力破解

自己用树莓派搭建了个小server,用了很长时间了,最近查看log发现有很多SSH登陆失败,瞬间心就碎了,一直没关心小派的安全问题,怪我咯! 马上行动,首先研究下log:/var/log/auth.log记录了SSH登陆等权限安全信息,如何知道自己被攻击了呢? # grep sshd.\*Failed /var/log/auth.log | less Nov 16 11:26:44 raspberrypi2 sshd[4876]: Failed password for root from 61

渗透测试之DNS暴力破解fierce教程

1. 介绍 在一个安全的环境中,暴力破解DNS的方式是一种获取不连续IP地址空间主机的有效手段.fierce工具可以满足这样的需求,而且已经预装在Kali Linux中.fierce是RSnake创立的快速有效地DNS暴力破解工具.fierce工具首先域名的IP地址,查询相关的域名服务器,然后利用字典进行攻击. 2. 用法 在Kali Linux中建立一个终端回话,输入下列命名查看帮助: # fierce -h fierce最基本的用法如下,以blog.csdn.net(只做测试,别无它用)为例

DVWA系列(三)----Brute Force(暴力(破解))

一.攻击模块1:Brute Force(暴力破解) 暴力破解一般指穷举法,穷举法的基本思想是根据题目的部分条件确定答案的大致范围,并在此范围内对所有可能的情况逐一验证,直到全部情况验证完毕.若某个情况验证符合题目的全部条件,则为本问题的一个解:若全部情况验证后都不符合题目的全部条件,则本题无解.穷举法也称为枚举法.       二.源码分析(文件地址:./DVWA/vulnerabilities/brute/source/low.PHP)   [html] view plain copy <?p