トピック
【問題点】
シャオミンは、数字の2が含まれているものも含めて、2番が嫌いです。数字の桁に数字2が含まれていない場合、XiaoMingはそれをクリーンな数字と呼びます。
整数1からnの中にクリーンな数字はいくつありますか?
【入力形式】入力
の1行目に整数nが含まれています。
【出力形式】
出力行には、回答を示す整数が含まれています。
[サンプル入力]
30
[サンプル出力]
18
[評価ユースケースのスケールと規則]
評価ユースケースの40%について、1 <= n <= 10000。
テストケースの80%で、1 <= n <= 100000。
すべての測定ケースで、1 <= n <= 1000000。
問題解決のアイデア
int型の数値をString型の文字列に変換し、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);
}
}