第二题 填空题 卡片
小蓝有很多数字卡片,每张卡片上都是数字 00 到 99。 小蓝准备用这些卡片来拼一些数,他想从 11 开始拼出正整数,每拼一个, 就保存起来,卡片就不能用来拼其它数了。 小蓝想知道自己能从 11 拼到多少。 例如,当小蓝有 3030 张卡片,其中 00 到 99 各 33 张,则小蓝可以拼出 11 到 1010, 但是拼 1111 时卡片 11 已经只有一张了,不够拼出 1111。 现在小蓝手里有 00 到 99 的卡片各 20212021 张,共 2021020210 张,请问小蓝可以从 11 拼到多少? 提示:建议使用计算机编程解决问题
import java.util.*;
public class Main{
public static void main(String[] args){
int ln;
int m,n,flag=0;
int a[]=new int[10];
for(int i=1;i<=10000;i++){
m=i;
ln=Integer.toString(i).length();
for(int j=0;j<ln;j++){
n=m%10;
m/=10;
if(++a[n]==2021){System.out.println(i);flag=1;break;}
}
if(flag==1)break;
}
}
}
第六题、程序设计题 时间显示 15分
题目描述
小蓝要和朋友合作开发一个时间显示的网站。
在服务器上,朋友已经获取了当前的时间,用一个整数表示,值为从 19701970 年 11 月 11 日 00:00:0000:00:00 到当前时刻经过的毫秒数。
现在,小蓝要在客户端显示出这个时间。小蓝不用显示出年月日,只需要显示出时分秒即可,毫秒也不用显示,直接舍去即可。
给定一个用整数表示的时间,请将这个时间对应的时分秒输出。
输入描述
输入一行包含一个整数,表示时间。
输出描述
输出时分秒表示的当前时间,格式形如 HH:MM:SS
,其中 HH
表示时,值为 00 到 2323,MM
表示分,值为 00 到 5959,SS
表示秒,值为 00 到 5959。时、分、秒 不足两位时补前导 00。
输入输出样例
示例 1
输入
46800999
输出
13:00:00
示例 2
输入
1618708103123
输出
01:08:23
注意事项:Date日期类型把1970年1月1日当做了时间原点,以毫秒值为单位
import java.util.*;
import java.text.SimpleDateFormat;
// 1:无需package
// 2: 类名必须Main, 不可修改
public class Main {
public static void main(String[] args) {
Date bDate = new Date();
Scanner input = new Scanner(System.in);
long a = input.nextLong();
bDate.setTime(a);
System.out.println(bDate.toString().substring(11,20));
}
}