2022 年 2 月 22 日 22:20 是一个很有意义的时间,年份为 2022,由 3 个 2
和 1 个 0 组成,如果将月和日写成 4 位,为 0222,也是由 3 个 2 和 1 个 0 组
成,如果将时间中的时和分写成 4 位,还是由 3 个 2 和 1 个 0 组成。
小蓝对这样的时间很感兴趣,他还找到了其它类似的例子,比如 111 年 10
月 11 日 01:11,2202 年 2 月 22 日 22:02 等等。
请问,总共有多少个时间是这种年份写成 4 位、月日写成 4 位、时间写成
4 位后由 3 个一种数字和 1 个另一种数字组成。注意 1111 年 11 月 11 日 11:11
不算,因为它里面没有两种数字。
特殊时间 时间写成 4 位后由 3 个一种数字和 1 个另一种数字组成。
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
4条回答 默认 最新
嘉祐-小萝卜算子 2022-04-09 20:51关注import java.util.ArrayList; import java.util.List; import java.text.SimpleDateFormat; import java.text.ParseException; import java.util.Date; public class riqi{ public static void main(String[] args) { SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmm"); //严格计算日期 sdf.setLenient(false); List<String> resultList=new ArrayList<>(); //先看看 两个不同的数字有多少种组合 for(int i=0;i<10;i++){ //0001 0010 0100 1000 //1110 1101 1011 0111 for(int j=i+1;j<10;j++){ int zong=0; List<String> list=new ArrayList<>(); list.add(i+""+i+""+i+""+j); list.add(i+""+i+""+j+""+i); list.add(i+""+j+""+i+""+i); list.add(j+""+i+""+i+""+i); for(int m=0;m<list.size();m++){ int value=Integer.valueOf(list.get(m)); for(int n=0;n<list.size();n++){ for(int p=0;p<list.size();p++){ String date=list.get(m)+list.get(n)+list.get(p); try { sdf.parse(date); } catch (ParseException e) { continue; } zong++; resultList.add(date); } } } list=new ArrayList<>(); list.add(j+""+j+""+j+""+i); list.add(j+""+j+""+i+""+j); list.add(j+""+i+""+j+""+j); list.add(i+""+j+""+j+""+j); for(int m=0;m<list.size();m++){ int value=Integer.valueOf(list.get(m)); for(int n=0;n<list.size();n++){ for(int p=0;p<list.size();p++){ String date=list.get(m)+list.get(n)+list.get(p); try { sdf.parse(date); } catch (ParseException e) { continue; } zong++; resultList.add(date); } } } if(zong>0) System.out.println(i+"+"+j+"的结果共有"+zong+"种"); } } System.out.println(resultList.size()); } }评论 打赏 举报解决 1无用