回文數
問題描述
1221是一個非常特殊的數,它從左邊讀和從右邊讀是一樣的,程式設計求所有這樣的四位十進制數。
輸出格式
按從小到大的順序輸出滿足條件的四位十進制數。
兩種思路:
一:回文數的組成 兩端相等,可以由數字組成來編寫程式
源代碼:
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
//普通回文數
public class Main {
public static void main(String[] args) {
List<Integer> list = new ArrayList<Integer>();
for (int i = 1; i <= 9; i++) {
for (int j = 0; j < 10; j++) {
list.add(i*1000+j*100+j*10+i);
}
}
Collections.sort(list);
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
}
}
二:通過給出的範圍對于其中滿足條件的數進行輸出即可
源代碼:
public class Main {
public static void main(String[] args) {
for(int i=1001;i<10000;++i)
if(i/1000==i%10&&(i/10%10)==(i/100%10))
System.out.println(i);
}
}
三:尋找規律...看到代碼我也驚歎!
源代碼:
public class Main {
public static void main(String[] args) {
for (int i = 10; i < 100; i++) {
System.out.println(i+""+i%10+""+i/10);
}
}
}
第二、三種方法是别人的代碼,此處隻做拓展思路.突然感覺自己的好麻煩...
特殊的數字
問題描述
153是一個非常特殊的數,它等于它的每位數字的立方和,即153=1*1*1+5*5*5+3*3*3。程式設計求所有滿足這種條件的三位十進制數。
輸出格式
按從小到大的順序輸出滿足條件的三位十進制數,每個數占一行。
源代碼:
public class Main {
public static void main(String[] args) {
for(int i = 100; i<1000; i++) {//可以分别求得個位,十位和百位
int a = i/100;
int b = i/10%10;
int c = i%10;
if(a*a*a+b*b*b+c*c*c == i) {
System.out.println(i);
}
}
}
}
源出處:
-------------------------------------------------------------------------------------------
署名:日沉雲起 文章:藍橋杯基礎練習 回文數