首先是题目描述:

描述

如上图,有3个方格,每个方格里面都有一个整数a1,a2,a3。已知0<=a1,a2,a3<=n,而且a1+a2是2的倍数,a2+a3是3的倍数,a1+a2+a3是5的倍数。你的任务是找到一组a1,a2,a3,使得a1+a2+a3最大。

输入

一行,包含一个整数n (0<=n<=100)。

输出

一个整数,即a1+a2+a3的最大值。

样例输入3

样例输出5

接下来是我的解法:

刚接触这道题的时候,我首先想到的是穷举法,具体代码如下:import java.util.Scanner;

public class NumBlock {

public static void main(String[] args) {

int sum=0;

Boolean flag=false;

Scanner sc = new Scanner(System.in);

int n = sc.nextInt();

for (int a1=0;a1<=n;a1++) {

for(int a2=0;a2<=n;a2++){

for(int a3=0;a3<=n;a3++){

if((a1+a2)%2==0&&(a2+a3)%3==0&&(a1+a2+a3)%5==0){

flag=true;

}

else {

flag=false;

}

if(flag==true){

int sum1=a1+a2+a3;

if(sum1>sum){

sum=sum1;

}

}

}

}

}

System.out.println(sum);

}

}

整个过程基本上可以分为两步:

(1)判断a1、a2、a3三个整数的取值是否满足要求

我定义了一个布尔型的变量,只有当它的值为true时,才可进行接下来的步骤;

(2)计算三个整数的和并输出最大值

首先将最后输出的整型变量sum赋值为0,在判断出当前a1、a2、a3取值满足要求后,计算一次三个整数的和,并与现有的sum进行比较,从而保证最后输出的是最大值。

这段代码的缺点很明显,就是for循环嵌套过多了,之后我会尝试进行优化。

穷举法java_OpenJudge 4146:数字方格 java穷举法相关推荐

  1. 百炼OJ:4146:数字方格

    http://bailian.openjudge.cn/practice/4146/ 总时间限制: 1000ms 内存限制 :65536kB 描述 如上图,有3个方格,每个方格里面都有一个整数a1,a ...

  2. android string数字字符串如何使用科学计数法,JSONObject 偶遇 数字字符串变为科学计数法 如何变为普通数字字符串...

    和 XML 一样,JSON 也是基于纯文本的数据格式.由于 JSON 天生是为 JavaScript 准备的,因此,JSON 的数据格式非常简单,您可以用 JSON 传输一个简单的 String,Nu ...

  3. 五子棋java程序=权值法_五子棋(人机对弈)——Java权值法五子棋博弈

    五子棋人机博弈 五子棋,人与人之间博弈,我们不用考虑太多,都是玩家自动思考. 但是如果我们要玩一个单机的五子棋,实现人机的对战,那么我就得"帮"电脑考虑下走哪步了. 实现的方法大概 ...

  4. java导出excel 科学计数法_基于Java将Excel科学计数法解析成数字

    需要注意的是一般的科学表达式是 1.8E12 1.8E-12 而在Excel中的科学表达式是 1.8E+12 1.8E-12 我写的科学计数法的正则表达式是 (-?\d+\.?\d*)[Ee]{1}[ ...

  5. java实现程序输出以下5*5数字方格

    请实现程序输出以下5*5数字方格. 1   2   3   4   5 6   7   8   9   10 11  12  13  14  15 16  17  18  19  20 21  22  ...

  6. 如何用java输出方格_第三章 Java类基础知识作业之(输出5*5数字方格,打印星塔)...

    public class Main { public static void main(String[] args) { // main函数的输入参数:Run as -> Run Configu ...

  7. java吸血鬼_4位吸血鬼数字的java实现思路与实例讲解

    这个问题来源于java编程思想一书,所谓"吸血鬼数字"就是指位数为偶数的数字,可以由一对数字相乘而得到,而这对数字各包含乘积的一半位数字,其中从偶数位数字中选取的数字可以任意排列. ...

  8. Java是有法_Java基础语法

    Java的基础语法包含三大类:标识符.修饰符.关键字. 一.标识符. 定义:标识符是以数字.字母.下划.$符号(美元符)所组成的用来标志类名.对象名.方法名.类型名.数组名.包名的有效字符序列.(简单 ...

  9. Java 科学计数法

    目录 Java 科学计数法 1 科学计数法的概念 1.1 有效数字 1.2 E记号 2 Java中的科学计数法 2.1 NumberFormat 2.2 DecimalFormat 2.3 BigDe ...

最新文章

  1. 图解YU12、I420、YV12、NV12、NV21、YUV420P、YUV420SP、YUV422P、YUV444P的区别
  2. 字符串转json对象的各种方法
  3. centos6.5系统自带python2.6升级到python2.7
  4. QQProtect.exe(Q盾)
  5. spring 注释_Spring @Value注释
  6. ubuntu13.10无法登陆
  7. 求5阶矩阵其对角线上所有元素之和
  8. 2010年最具潜力微博网站排行榜(转)
  9. 力扣35-搜索插入位置(C++,左右闭区间,nums[mid]与target大小关系判断的不同及辨析)
  10. 响应式编程、反应式编程的简易教程-超赞演讲
  11. eclipse运行java项目
  12. xjoj挖金矿(二分验证)
  13. Facebook账户 “ 解封、防封、养号 ” 知识要点,已收藏!
  14. 16-大数据处理技巧--数据分析
  15. CS5211AN可兼容CH7511B,是一款EDP到LVDS的转换器
  16. java.net.url 中文乱码_asp.net URL中包含中文参数造成乱码的解决方法
  17. javafx实现钢笔效果,钢笔笔锋,基于bezier曲线
  18. 淘宝天猫店招空白间隔去除
  19. Java数值型表现形式
  20. 防骗指南-披着交友恋爱的外衣,诱骗受害者赌博转钱

热门文章

  1. android+生成控制,用 soot 生成安卓App的控制流 Day 1
  2. python函数封装图解_Python面向对象之封装
  3. python石头剪刀布程序_一个python石头剪刀布送给大家
  4. grub-probe error 的一个bug
  5. Qt——Qt控件之显示窗口-QProgressBar进度条控件的使用总结(例程:Qt电池充电进度效果实现)
  6. 巨子生物在港交所启动招股:股东提前“套现”,未获基石投资订单
  7. |与||的区别以及与的区别
  8. 优漫动游平面构成方法!就是设计根基
  9. php排序数组排序_php简单实现多维数组排序的方法
  10. 网站服务器p2p更新需要多久,《彩虹六号》更新计划 将升级服务器并移除P2P功能...