蓝桥杯:洁净数(用字符串来做,超简单!)

    科技2022-07-11  135

    题目

    【问题描述】    小明非常不喜欢数字 2,包括那些数位上包含数字 2 的数。如果一个数的数位不包含数字 2,小明将它称为洁净数。    请问在整数 1 至 n 中,洁净数有多少个? 【输入格式】    输入的第一行包含一个整数 n。 【输出格式】    输出一行包含一个整数,表示答案。 【样例输入】 30 【样例输出】    18 【评测用例规模与约定】    对于 40% 的评测用例,1 <= n <= 10000。    对于 80% 的评测用例,1 <= n <= 100000。    对于所有评测用例,1 <= n <= 1000000。

    解题思路

       将int类型的数字转换为String类型的字符串,再用字符串的contains方法判断字符串是否包含“2”,如果包含则不为洁净数,反之则为,count++。

    小提示

      字符串的contains方法判断的是是否含有字符串,双引号不能掉

    代码

    import java.util.Scanner; public class Main {//蓝桥杯要求class命名为Main,且无package public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int n = scanner.nextInt(); int count = 0; for(int i=1;i<=n;i++){ String str = i+"";//转为字符串 if(str.contains("2")){ continue;//不为洁净数continue结束当前for循环 } count++;//为洁净数则count++ } System.out.println(count); } }
    Processed: 0.009, SQL: 8