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

第一节课的主要内容:
暴力破解与实用性优先 (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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值