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

Posted Catherine_zhilin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java--算法特训暴力破解和实用性优先相关的知识,希望对你有一定的参考价值。

第一节课的主要内容:
暴力破解与实用性优先 (1)暴力破解在大赛及企业应用中的重要性 (2)暴力破解中的实用性原则 (3)逆向解法 (4)枚举法

题目一:
美国数学家维纳(N.Wiener)智力早熟,11岁就上了大学。
他曾在1935~1936年应邀来中国清华大学讲学。 一次,他参加某个重要会议,年轻的脸孔引人注目。 于是有人询问他的年龄,他回答说: “我年龄的立方是个4位数。我年龄的4次方是个6位数。这10个数字正好包含了从0到9这10个数字,每个都恰好出现1次。” 请你推算一下,他当时到底有多年轻。

解题方法:
 1 package com.algorithm.java.blueBirdge;
 2 
 3 //import static sun.misc.Version.println;
 4 
 5 public class testsuanfa {
 6     public static void main(String[] args){
 7         //假设他的年龄在1岁到100岁之间(40的)
 8         for(int i=10;i<100;i++){
 9             //对年龄的立方和年龄的四次方判断
10             int a =i*i*i;
11             int b=a*i;
12             //将a 转成串
13             if((a+"").length()!=4) continue;//如果将a 由数字转成字符串以后,长度不为4,跳出循环
14             if((b+"").length()!=6) continue;//如果将b 由数字转成字符串以后,长度不为6,跳出循环
15             System.out.println(i +"的四次方是"+a+"   的六次方是"+b);
16         }
17     }
18 
19 }

 

测试结果:

由结果可以看出:18

 

写的程序要求:实用,快速,稳定,有效!



以上是关于Java--算法特训暴力破解和实用性优先的主要内容,如果未能解决你的问题,请参考以下文章

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

Java--算法特训

于航特训课第二课

每日算法&面试题,算法特训十四天——第一天

Python实用工具暴力破解-1!Python编写四位数密码本

一些随想:学习方法,暴力破解​,深度优先,20%,99.9...%,超级个体