熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

JAVA經典算法32題

2013-11-23 19:28:31  來源: Java核心技術 

  【程序】 題目古典問題有一對兔子從出生後第個月起每個月都生一對兔子小兔子長到第四個月後每個月又生一對兔子假如兔子都不死問每個月的兔子總數為多少?

  程序分析 兔子的規律為數列

  public class exp{

  public static void main(String args[]){

  int i=;

  for(i=;i<=;i++)

  Systemoutprintln(f(i));

  }

  public static int f(int x)

  {

  if(x== || x==)

  return ;

  else

  return f(x)+f(x);

  }

  }

  【程序】 題目判斷之間有多少個素數並輸出所有素數

  程序分析判斷素數的方法用一個數分別去除到sqrt(這個數)如果能被整除

  則表明此數不是素數反之是素數

  import javautilArrayList;

  public class Sushu {

  public static void main(String[] args) {

  ArrayList list = new ArrayList();

  for(int i =;i<=;i++){

  if(isPrime(i))

  listadd(i);

  }

  Systemoutprintln(list+\n共有+listsize()+個素數);

  }

  public static boolean isPrime(int i){

  boolean flag = true;

  for(int j =;j<=Mathsqrt(i);j++){

  if(i%j==){

  flag = false;

  }

  }

  return flag;

  }

  }

  【程序

  題目輸入一行字符分別統計出其中英文字母空格數字和其它字符的個數

  程序分析利用while語句條件為輸入的字符不為 \n

  【程序

  題目求s=a+aa+aaa+aaaa+aaa的值其中a是一個數字例如++++(此時共有個數相加)幾個數相加有鍵盤控制

  程序分析關鍵是計算出每一項的值

  【程序

  題目一個數如果恰好等於它的因子之和這個數就稱為 完數 例如=編程 找出以內的所有完數

  【程序

  題目一球從米高度自由落下每次落地後反跳回原高度的一半再落下求它在 第次落地時共經過多少米?第次反彈多高?

  【程序

  題目個數字能組成多少個互不相同且無重復數字的三位數?都是多少?

  程序分析可填在百位十位個位的數字都是組成所有的排列後再去 掉不滿足條件的排列

  【程序

  題目企業發放的獎金根據利潤提成利潤(I)低於或等於萬元時獎金可提%利潤高於萬元低於萬元時低於萬元的部分按%提成高於萬元的部分可可提成%萬到萬之間時高於萬元的部分可提成%萬到萬之間時高於萬元的部分可提成%萬到萬之間時高於萬元的部分可提成%高於萬元時超過萬元的部分按%提成從鍵盤輸入當月利潤I求應發放獎金總數?

  程序分析請利用數軸來分界定位注意定義時需把獎金定義成長整型

  【程序

  題目一個整數它加上後是一個完全平方數再加上又是一個完全平方數請問該數是多少?

  程序分析萬以內判斷先將該數加上後再開方再將該數加上後再開方如果開方後的結果滿足如下條件即是結果請看具體分析

  【程序

  題目輸入某年某月某日判斷這一天是這一年的第幾天?

  程序分析日為例應該先把前兩個月的加起來然後再加上天即本年的第幾天特殊情況閏年且輸入月份大於時需考慮多加一天

  【程序

  題目輸入三個整數xyz請把這三個數由小到大輸出

  程序分析我們想辦法把最小的數放到x上先將x與y進行比較如果x> y則將x與y的值進行交換然後再用x與z進行比較如果x> z則將x與z的值進行交換這樣能使x最小

  【程序

  題目輸出*口訣

  程序分析分行與列考慮i控制行j控制列

  【程序

  題目猴子吃桃問題猴子第一天摘下若干個桃子當即吃了一半還不瘾又多吃了一個 第二天早上又將剩下的桃子吃掉一半又多吃了一個以後每天早上都吃了前一天剩下 的一半零一個到第天早上想再吃時見只剩下一個桃子了求第一天共摘了多少

  程序分析采取逆向思維的方法從後往前推斷

  【程序

  題目兩個乒乓球隊進行比賽各出三人甲隊為abc三人乙隊為xyz三人已抽簽決定比賽名單有人向隊員打聽比賽的名單a說他不和x比c說他不和xz比請編程序找出三隊賽手的名單

  程序分析判斷素數的方法用一個數分別去除到sqrt(這個數)如果能被整除 則表明此數不是素數反之是素數

  【程序

  題目打印出如下圖案(菱形)

  *

  ***

  ******

  ********

  ******

  ***

  *

  程序分析先把圖形分成兩部分來看待前四行一個規律後三行一個規律利用雙重 for循環第一層控制行第二層控制列

  【程序

  題目有一分數序列//////求出這個數列的前項之和

  程序分析請抓住分子與分母的變化規律

  【程序

  題目+!+!++!的和

  程序分析此程序只是把累加變成了累乘

  【程序

  題目利用遞歸方法求!

  程序分析遞歸公式fn=fn_*!

  【程序

  題目個人坐在一起問第五個人多少歲?他說比第個人大問第個人歲數他說比第個人大問第三個人又說比第人大兩歲問第個人說比第一個人大兩歲最後問第一個人他說是請問第五個人多大?

  程序分析利用遞歸的方法遞歸分為回推和遞推兩個階段要想知道第五個人歲數需知道第四人的歲數依次類推推到第一人(歲)再往回推

  【程序

  題目給一個不多於位的正整數要求求它是幾位數逆序打印出各位數字

  【程序

  題目一個位數判斷它是不是回文數是回文數個位與萬位相同十位與千位相同

  【程序

  題目請輸入星期幾的第一個字母來判斷一下是星期幾如果第一個字母一樣則繼續 判斷第二個字母

  程序分析用情況語句比較好如果第一個字母一樣則判斷用情況語句或if語句判斷第二個字母

  【程序

  題目之內的素數

  【程序

  題目個數進行排序

  程序分析可以利用選擇法即從後個比較過程中選擇一個最小的與第一個元素交換 下次類推即用第二個元素與後個進行比較並進行交換

  【程序

  題目求一個*矩陣對角線元素之和

  程序分析利用雙重for循環控制輸入二維數組再將a[i][i]累加後輸出

  【程序

  題目有一個已經排好序的數組現輸入一個數要求按原來的規律將它插入數組中

   程序分析首先判斷此數是否大於最後一個數然後再考慮插入中間的數的情況插入後此元素之後的數依次後移一個位置

  【程序

  題目將一個數組逆序輸出

  程序分析用第一個與最後一個交換

  【程序

  題目取一個整數a從右端開始的

  程序分析可以這樣考慮

  ()先使a右移

  ()設置一個低位全為其余全為的數可用~(~ < <)

  ()將上面二者進行&運算


From:http://tw.wingwit.com/Article/program/Java/hx/201311/26920.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.