穷举法java_OpenJudge 4146:数字方格 java穷举法
首先是题目描述:
描述
如上图,有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穷举法相关推荐
- 百炼OJ:4146:数字方格
http://bailian.openjudge.cn/practice/4146/ 总时间限制: 1000ms 内存限制 :65536kB 描述 如上图,有3个方格,每个方格里面都有一个整数a1,a ...
- android string数字字符串如何使用科学计数法,JSONObject 偶遇 数字字符串变为科学计数法 如何变为普通数字字符串...
和 XML 一样,JSON 也是基于纯文本的数据格式.由于 JSON 天生是为 JavaScript 准备的,因此,JSON 的数据格式非常简单,您可以用 JSON 传输一个简单的 String,Nu ...
- 五子棋java程序=权值法_五子棋(人机对弈)——Java权值法五子棋博弈
五子棋人机博弈 五子棋,人与人之间博弈,我们不用考虑太多,都是玩家自动思考. 但是如果我们要玩一个单机的五子棋,实现人机的对战,那么我就得"帮"电脑考虑下走哪步了. 实现的方法大概 ...
- java导出excel 科学计数法_基于Java将Excel科学计数法解析成数字
需要注意的是一般的科学表达式是 1.8E12 1.8E-12 而在Excel中的科学表达式是 1.8E+12 1.8E-12 我写的科学计数法的正则表达式是 (-?\d+\.?\d*)[Ee]{1}[ ...
- 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 ...
- 如何用java输出方格_第三章 Java类基础知识作业之(输出5*5数字方格,打印星塔)...
public class Main { public static void main(String[] args) { // main函数的输入参数:Run as -> Run Configu ...
- java吸血鬼_4位吸血鬼数字的java实现思路与实例讲解
这个问题来源于java编程思想一书,所谓"吸血鬼数字"就是指位数为偶数的数字,可以由一对数字相乘而得到,而这对数字各包含乘积的一半位数字,其中从偶数位数字中选取的数字可以任意排列. ...
- Java是有法_Java基础语法
Java的基础语法包含三大类:标识符.修饰符.关键字. 一.标识符. 定义:标识符是以数字.字母.下划.$符号(美元符)所组成的用来标志类名.对象名.方法名.类型名.数组名.包名的有效字符序列.(简单 ...
- Java 科学计数法
目录 Java 科学计数法 1 科学计数法的概念 1.1 有效数字 1.2 E记号 2 Java中的科学计数法 2.1 NumberFormat 2.2 DecimalFormat 2.3 BigDe ...
最新文章
- 图解YU12、I420、YV12、NV12、NV21、YUV420P、YUV420SP、YUV422P、YUV444P的区别
- 字符串转json对象的各种方法
- centos6.5系统自带python2.6升级到python2.7
- QQProtect.exe(Q盾)
- spring 注释_Spring @Value注释
- ubuntu13.10无法登陆
- 求5阶矩阵其对角线上所有元素之和
- 2010年最具潜力微博网站排行榜(转)
- 力扣35-搜索插入位置(C++,左右闭区间,nums[mid]与target大小关系判断的不同及辨析)
- 响应式编程、反应式编程的简易教程-超赞演讲
- eclipse运行java项目
- xjoj挖金矿(二分验证)
- Facebook账户 “ 解封、防封、养号 ” 知识要点,已收藏!
- 16-大数据处理技巧--数据分析
- CS5211AN可兼容CH7511B,是一款EDP到LVDS的转换器
- java.net.url 中文乱码_asp.net URL中包含中文参数造成乱码的解决方法
- javafx实现钢笔效果,钢笔笔锋,基于bezier曲线
- 淘宝天猫店招空白间隔去除
- Java数值型表现形式
- 防骗指南-披着交友恋爱的外衣,诱骗受害者赌博转钱
热门文章
- android+生成控制,用 soot 生成安卓App的控制流 Day 1
- python函数封装图解_Python面向对象之封装
- python石头剪刀布程序_一个python石头剪刀布送给大家
- grub-probe error 的一个bug
- Qt——Qt控件之显示窗口-QProgressBar进度条控件的使用总结(例程:Qt电池充电进度效果实现)
- 巨子生物在港交所启动招股:股东提前“套现”,未获基石投资订单
- |与||的区别以及与的区别
- 优漫动游平面构成方法!就是设计根基
- php排序数组排序_php简单实现多维数组排序的方法
- 网站服务器p2p更新需要多久,《彩虹六号》更新计划 将升级服务器并移除P2P功能...