2021蓝桥杯大赛软件类国赛Java大学B组 完全日期 复杂遍历搜索

简介: 2021蓝桥杯大赛软件类国赛Java大学B组 完全日期 复杂遍历搜索

package Dduo;
 
public class Main {
  public static void main(String[] args) {
    int cnt=0;
    int arr[]=new int[] {0,31,28,31,30,31,30,31,31,30,31,30,31};
  
    int day=1;
    int month=1;
    int year=2001;
    for(;;day++) {
      if(day>arr[month]) {
        day=1;
        month++;
      }
      if(month>12) {
        month=1;
        day=1;
        year++;
      }
      if(year==2022&&month==1&&day==1)break;
      if(judge(sum(year)+sum(month)+sum(day))) {
        System.out.println(year+" "+month+" "+day);
        cnt++;
      }
    }
    //单独判断闰年
    if(judge(sum(2004)+sum(2)+sum(29))) {
      System.out.println(year+" "+month+" "+day);
      cnt++;
    }
    if(judge(sum(2008)+sum(2)+sum(29))) {
      System.out.println(year+" "+month+" "+day);
      cnt++;
    }
    if(judge(sum(2012)+sum(2)+sum(29))) {
      System.out.println(year+" "+month+" "+day);
      cnt++;
    }
    if(judge(sum(2016)+sum(2)+sum(29))) {
      System.out.println(year+" "+month+" "+day);
      cnt++;
    }
    if(judge(sum(2020)+sum(2)+sum(29))) {
      System.out.println(year+" "+month+" "+day);
      cnt++;
    }
    System.out.print(cnt);
  }
  public static int sum(int x) {
    int sum=0;
    while(x>0) {
      sum+=x%10;
      x/=10;
    }
    return sum;
  }
  public static boolean  judge(int x) {
    int ans=(int )Math.sqrt(x);
    if(ans*ans==x)return true;
    else return false;
  }
}
目录
打赏
0
2
2
0
38
分享
相关文章
|
23天前
|
《从头开始学java,一天一个知识点》之:数组入门:一维数组的定义与遍历
**你是否也经历过这些崩溃瞬间?** - 看了三天教程,连`i++`和`++i`的区别都说不清 - 面试时被追问"`a==b`和`equals()`的区别",大脑突然空白 - 写出的代码总是莫名报NPE,却不知道问题出在哪个运算符 这个系列就是为你打造的Java「速效救心丸」!我们承诺:每天1分钟,地铁通勤、午休间隙即可完成学习;直击痛点,只讲高频考点和实际开发中的「坑位」;拒绝臃肿,没有冗长概念堆砌,每篇都有可运行的代码标本。明日预告:《多维数组与常见操作》。 通过实例讲解数组的核心认知、趣味场景应用、企业级开发规范及优化技巧,帮助你快速掌握Java数组的精髓。
57 23
|
6月前
蓝桥杯真题time模块详解 | 顺子日期 星期一
蓝桥杯真题time模块详解 | 顺子日期 星期一
【潜意识Java】深度解析黑马项目《苍穹外卖》与蓝桥杯算法的结合问题
本文探讨了如何将算法学习与实际项目相结合,以提升编程竞赛中的解题能力。通过《苍穹外卖》项目,介绍了订单配送路径规划(基于动态规划解决旅行商问题)和商品推荐系统(基于贪心算法)。这些实例不仅展示了算法在实际业务中的应用,还帮助读者更好地准备蓝桥杯等编程竞赛。结合具体代码实现和解析,文章详细说明了如何运用算法优化项目功能,提高解决问题的能力。
98 6
【潜意识Java】蓝桥杯算法有关的动态规划求解背包问题
本文介绍了经典的0/1背包问题及其动态规划解法。
76 5
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
Java学习笔记 List集合的定义、集合的遍历、迭代器的使用
118 4
在 Java 中,如何遍历一个 Set 集合?
【10月更文挑战第30天】开发者可以根据具体的需求和代码风格选择合适的遍历方式。增强for循环简洁直观,适用于大多数简单的遍历场景;迭代器则更加灵活,可在遍历过程中进行更多复杂的操作;而Lambda表达式和`forEach`方法则提供了一种更简洁的函数式编程风格的遍历方式。
Java|如何正确地在遍历 List 时删除元素
从源码分析如何正确地在遍历 List 时删除元素。为什么有的写法会导致异常,而另一些不会。
126 3
|
7月前
|
Java搜索与替换
Java搜索与替换
41 4
Java搜索与替换
|
6月前
|
2022年第十三届蓝桥杯大赛C/C++语言B组省赛题解
2022年第十三届蓝桥杯大赛C/C++语言B组省赛题解
141 5
java基础:map遍历使用;java使用 Patten 和Matches 进行正则匹配;后端传到前端展示图片三种情况,并保存到手机
这篇文章介绍了Java中Map的遍历方法、使用Pattern和matches进行正则表达式匹配,以及后端向前端传输图片并保存到手机的三种情况。
66 1
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等