2019蓝桥杯大赛省赛Java大学B组 数的分解

简介: 2019蓝桥杯大赛省赛Java大学B组 数的分解

题目

答案

package test;
 
 
public class Main {
    public static void main(String[] args) {
      int cnt=0;
        for(int i1=1;i1<2019;i1++) {
          for(int i2=i1+1;i2<2019;i2++) {
            int i3=2019-i1-i2;
            if(i3<=i2)continue;
            else {
              boolean judge=true;
              int ans1=i1;
              int ans2=i2;
              int ans3=i3;
              while(ans1>0) {
                int a=ans1%10;
                if(a==2||a==4) {
                  judge=false;
                  break;
                }
                ans1/=10;
              }
              while(ans2>0) {
                int a=ans2%10;
                if(a==2||a==4) {
                  judge=false;
                  break;
                }
                ans2/=10;
              }
              while(ans3>0) {
                int a=ans3%10;
                if(a==2||a==4) {
                  judge=false;
                  break;
                }
                ans3/=10;
              }
              if(judge) {
                cnt++;
                  System.out.println(i1+" "+i2+" "+i3); 
              }
            }
          }
        }
        System.out.print(cnt);
    }
}

这段代码的功能是找出所有满足以下条件的三个整数组合 (i1, i2, i3)

  1. i1 + i2 + i3 = 2019
  2. i1 < i2 < i3
  3. i1, i2, i3 中不包含数字 24

让我们逐步分析代码的运行过程:

代码分析

  1. 变量定义
  • cnt:用于计数符合条件的组合数目,初始为 0
  1. 嵌套循环
  • 外层循环 for(int i1=1; i1<2019; i1++):遍历可能的第一个数 i1,范围是 12018
  • 内层循环 for(int i2=i1+1; i2<2019; i2++):对于固定的 i1,遍历可能的第二个数 i2,范围是 i1+12018
  • 计算第三个数 i3:根据 i1, i2 计算第三个数 i3 = 2019 - i1 - i2
  1. 条件判断
  • if (i3 <= i2) continue;:如果 i3 小于等于 i2,则跳过当前循环,因为要求 i1 < i2 < i3
  • boolean judge = true;:设置一个布尔变量 judge,用于判断 i1, i2, i3 是否满足不包含数字 24
  1. 检查每个数的每位数字
  • 通过 while (ans1 > 0)while (ans2 > 0)while (ans3 > 0) 循环,分别提取 i1, i2, i3 的每一位数字,并检查是否包含数字 24
  • 如果发现包含 24,则将 judge 设置为 false,并且跳出当前循环。
  1. 判断结果
  • 如果 judgetrue,表示 i1, i2, i3 符合条件,增加 cnt 的计数,并输出这个组合。
  • 最后输出符合条件的组合数目 cnt

总结

这段代码的目的是利用嵌套循环和条件判断,找出满足特定条件的三个整数组合,并统计符合条件的组合数目。条件包括三个数之和为 2019,且这三个数均不包含数字 24

个人号推广

博客主页

多多!-CSDN博客

Web后端开发

https://blog.csdn.net/qq_30500575/category_12624592.html?spm=1001.2014.3001.5482

Web前端开发

https://blog.csdn.net/qq_30500575/category_12642989.html?spm=1001.2014.3001.5482

数据库开发

https://blog.csdn.net/qq_30500575/category_12651993.html?spm=1001.2014.3001.5482

项目实战

https://blog.csdn.net/qq_30500575/category_12699801.html?spm=1001.2014.3001.5482

算法与数据结构

https://blog.csdn.net/qq_30500575/category_12630954.html?spm=1001.2014.3001.5482

计算机基础

https://blog.csdn.net/qq_30500575/category_12701605.html?spm=1001.2014.3001.5482

回忆录

https://blog.csdn.net/qq_30500575/category_12620276.html?spm=1001.2014.3001.5482

目录
相关文章
|
30天前
|
算法 搜索推荐 Java
【潜意识Java】深度解析黑马项目《苍穹外卖》与蓝桥杯算法的结合问题
本文探讨了如何将算法学习与实际项目相结合,以提升编程竞赛中的解题能力。通过《苍穹外卖》项目,介绍了订单配送路径规划(基于动态规划解决旅行商问题)和商品推荐系统(基于贪心算法)。这些实例不仅展示了算法在实际业务中的应用,还帮助读者更好地准备蓝桥杯等编程竞赛。结合具体代码实现和解析,文章详细说明了如何运用算法优化项目功能,提高解决问题的能力。
62 6
|
30天前
|
算法 Java C++
【潜意识Java】蓝桥杯算法有关的动态规划求解背包问题
本文介绍了经典的0/1背包问题及其动态规划解法。
48 5
|
4月前
|
算法 C++
2022年第十三届蓝桥杯大赛C/C++语言B组省赛题解
2022年第十三届蓝桥杯大赛C/C++语言B组省赛题解
99 5
|
6月前
|
Java Docker 微服务
微服务架构已成为Java Web开发的新趋势,它通过将应用分解为独立、可部署的服务单元,提升了系统的灵活性与可维护性。
微服务架构已成为Java Web开发的新趋势,它通过将应用分解为独立、可部署的服务单元,提升了系统的灵活性与可维护性。每个服务负责特定功能,通过轻量通信机制协作。利用Spring Boot与Spring Cloud等框架可简化开发流程,支持模块化设计、独立部署、技术多样性和容错性,适应快速迭代的需求。
97 1
|
8月前
|
存储 算法 测试技术
第十五届蓝桥杯大赛 国赛 pb组F题【括号与字母】(15分) 栈的应用
第十五届蓝桥杯大赛 国赛 pb组F题【括号与字母】(15分) 栈的应用
64 1
|
8月前
|
Java
2016届蓝桥杯大赛软件类国赛Java大学B组 愤怒小鸟 数学模拟
2016届蓝桥杯大赛软件类国赛Java大学B组 愤怒小鸟 数学模拟
67 4
|
8月前
|
Java
2023届蓝桥杯大赛软件类国赛Java大学B组 互质 数论
2023届蓝桥杯大赛软件类国赛Java大学B组 互质 数论
50 1
|
8月前
|
存储 前端开发 算法
2016届蓝桥杯大赛软件类国赛Java大学B组 反幻方 暴力搜索
2016届蓝桥杯大赛软件类国赛Java大学B组 反幻方 暴力搜索
45 0
|
9月前
|
人工智能 算法 Java
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1005 数字游戏
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1005 数字游戏
126 0
|
9月前
|
Java C语言 C++
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1000 kAc给糖果你吃
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1000 kAc给糖果你吃
96 0

热门文章

最新文章