Berdasarkan pertanyaan Berapa banyak bilangan bulat positif <1.000.000 mengandung angka 2? . Saya mencari solusi paling kreatif untuk menghitung semua Integer dari Xhingga Ymengandung Integer Z. Zdapat dari 0 hingga Y.
Setiap bilangan bulat yang ditemukan hanya dihitung satu kali, bahkan jika bilangan bulat Zlebih sering muncul. Sebagai contoh:
Z = 2
123 counts 1
22222 also counts 1
Saya akan mulai dengan algoritma yang sangat sederhana yang ditulis dalam Java (karena dicintai oleh semua orang):
public class Count {
public static void main(String[] args) {
int count = 0;
for (int i = Integer.parseInt(args[0]); i <= Integer.parseInt(args[1]); i++) {
if (Integer.toString(i).contains(args[2])) {
count++;
}
}
System.out.println(count);
}
}
jika Anda menjalankan ini dengan
java -jar Count.jar 0 1000000 2
Anda mendapatkan ini sebagai hasilnya:
468559
Karena masalah ini tidak sulit untuk diselesaikan, itu hanya kontes popularitas . Jawaban yang paling banyak diposting diposting oleh 28 Februari menang!
Nbisa 123dan hanya akan cocok jika substring 123 ada?
