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

目录
相关文章
|
3天前
|
Java
2016届蓝桥杯大赛软件类国赛Java大学B组 愤怒小鸟 数学模拟
2016届蓝桥杯大赛软件类国赛Java大学B组 愤怒小鸟 数学模拟
17 4
|
3天前
|
Java
2021蓝桥杯大赛软件类国赛Java大学B组 完全日期 复杂遍历搜索
2021蓝桥杯大赛软件类国赛Java大学B组 完全日期 复杂遍历搜索
10 2
|
3天前
|
Java
2023届蓝桥杯大赛软件类国赛Java大学B组 互质 数论
2023届蓝桥杯大赛软件类国赛Java大学B组 互质 数论
5 1
|
3天前
|
存储 前端开发 算法
2016届蓝桥杯大赛软件类国赛Java大学B组 反幻方 暴力搜索
2016届蓝桥杯大赛软件类国赛Java大学B组 反幻方 暴力搜索
4 0
|
1月前
|
人工智能 算法 Java
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-992 士兵杀敌(二)
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-992 士兵杀敌(二)
37 1
|
1月前
|
人工智能 算法 Java
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1005 数字游戏
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1005 数字游戏
65 0
|
1月前
|
Java C语言 C++
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1000 kAc给糖果你吃
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-1000 kAc给糖果你吃
52 0
|
1月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-999 数的潜能
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-999 数的潜能
50 0
|
1月前
|
算法 Java C语言
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-997 粘木棍
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-997 粘木棍
61 0
|
1月前
|
机器学习/深度学习 算法 Java
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-996 车的放置
第十四届蓝桥杯集训——练习解题阶段(无序阶段)-ALGO-996 车的放置
55 0