知道循環次數用for循環
練習題1
小明對數位中含有2.0.1.9的數字很感興趣,在1到40中這樣的數包含1.2.9.10至32.39.40,共28個,他們的和是574.請問,在1到2019中,所有這樣的數的和是多少?(2019Java C組第一題)
解析:最快的方法就是將數字轉換成字符串。獲取每一位的數字進行比較,再累加。
public class demo1 {public static void main(String[] args){int count=0;for(int i =1;i<=2019;i++) {//將數字轉成字符串String j = i + "";//將字符串轉成字符數組 toCharArray()char[] cs = j.toCharArray();for (int k = 0; k < cs.length; k++) {if (cs[k] == '0' || cs[k] == '1' || cs[k] == '2' || cs[k] == '9') {count += i;break;}}}System.out.println(count);}
}
練習題2
一些數字的立方的末尾正好是該數字本身。比如:1,4,5,6,9,24,25......;請你計算一下,在10^4以內的數字中(指該數字,并非它立方后的數值),符合這個特征的正整數一共有多少個(2015Java C組第二題)
解析:可以將數字和數字的立方轉成字符串。我們可以使用方法str.endsWith(str2):判斷字符串str是否以字符串str2結尾。
public class demo2 {public static void main(String[] args){int count = 0;for(int i = 1;i<=10000;i++){String j= i +"";String m= i*i*i +"";if(m.endsWith(j)){count++;}}System.out.println(count);} }