java邏輯算法題-面試筆試題


/**
     * 兔子繁殖 斐波那契數列有一對兔子,從出生后第3個月起每個月都生一對兔子,小兔子長到第三個月后每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少
  分析第一個月 一對 第二個月 還是一對 第三個月 2對 第四個月 3對 。。5..8..13
*/ @Test public void testFibonacci() { List<Integer> integers = new ArrayList<>(); for (int i = 1; i <= 10; i++) { if (i == 1 || i == 2) { integers.add(1); } else { integers.add(integers.get(integers.size() - 1) + integers.get(integers.size() - 2)); } } System.out.println(integers.toString()); } /** * 判斷0-100之間有多少個素數,並輸出所有素數
判斷素數的方法:用一個數分別去除2到sqrt(這個數),如果能被整除, 則表明此數不是素數,反之是素數。
*/ @Test public void testPrime() { int j; for (int i = 0; i <= 100; i++) { if (i % 2 == 0 && i != 2) { continue; //偶數和1排除 } System.out.println(i); for (j = 2; j <= Math.sqrt(i); j++) { if (i % j == 0) { System.out.println(i); break; } } } } /** * 九九乘法表 */ @Test public void testNine() { for (int i = 1; i <= 9; i++) { for (int j = 1; j <= i; j++) { System.out.print(j + "*" + i + "=" + i * j); System.out.print(" "); } System.out.println("\t"); } } /** * 水仙花數
打印出所有的 "水仙花數 ",所謂 "水仙花數 "是指一個三位數,其各位數字立方和等於該數本身。例如:153是一個 "水仙花數 ",因為153=1的三次方+5的三次方+3的三次方。
*/ @Test public void shuixianhua() { for (int i = 100; i <= 999; i++) { int a = i % 10; int b = i / 10 % 10; int c = i / 100; if (a * a * a + b * b * b + c * c * c == i) { System.out.println(i); } } } /** * 查詢某個數所有的因數
將一個正整數分解質因數。例如:輸入90,輸出2 3 5 (90=2*3*3*5)。   
程序分析:對num進行分解質因數,應先找到一個最小的質數k,然后按下述步驟完成:   
(1)如果這個質數恰等於num,則說明分解質因數的過程已經結束,打印出即可。   
(2)如果num > k,但n能被k整除,則應打印出k的值,並用num除以k的商,作為新的正整數你num,重復執行第一步。   
(3)如果num不能被k整除,則用k+1作為k的值,重復執行第一步
*/ @Test public void testYinShu() { int num = 90; int k = 2; while (num >= k) { if (num == k) { System.out.print(num); System.out.print(""); } else if (num % k == 0) { num = num / k; System.out.print(k); System.out.print(""); } k++; } }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM