第一节课的主要内容:暴力破解与实用性优先
(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
写的程序要求:实用,快速,稳定,有效!
转载于:https://www.cnblogs.com/Catherinezhilin/p/8506807.html
相关资源:JAVA上百实例源码以及开源项目