特殊年份(java) | 您所在的位置:网站首页 › 2021年是一个什么年份 › 特殊年份(java) |
特殊年份
题面 今年是 2021 年,2021 这个数字非常特殊,它的千位和十位相等,个位比百位大 1,我们称满足这样条件的年份为特殊年份。 输入 5 个年份,请计算这里面有多少个特殊年份。 【输入格式】 输入 5 行,每行一个 4 位十进制数(数值范围为 1000 至 9999),表示一个年份。 【输出格式】 输出一个整数,表示输入的 5 个年份中有多少个特殊年份。 【样例输入】 2019 2021 1920 2120 9899 【样例输出】 2 【样例说明】 2021 和 9899 是特殊年份,其它不是特殊年份。 解题思路 对于位数不多的题来说,可以直接将该数字的每位数表示出来 后面仔细想了一会,发现如果位数较多,使用这种方法很繁杂, 只需将每个年份转化为字符串,直接利用字符串下标进行比较, 这样就可以简化做题步骤。 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int[] year=new int[5]; for (int i=0;i int a=year[i]/1000;//千位 int b=year[i]/100-a*10;//百位 int c=year[i]/10-b*10-a*100;//十位 int d=year[i]-c*10-b*100-a*1000;//个位 if (year[i]/1000==a && d-b==1){ value++; } } System.out.println(value); } }改良后的版本 思路完全一样,但是步骤有所简化 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); String[] years=new String[5]; for (int i=0;i int a=years[i].charAt(0);//千位 int b=years[i].charAt(1);//百位 int c=years[i].charAt(2);//十位 int d=years[i].charAt(3);//个位 if (a==c && d-b==1){ value++; } } System.out.println(value); } } |
CopyRight 2018-2019 实验室设备网 版权所有 |