




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
【程序1】題目:古典問題:有一對(duì)兔子,從出生后第3個(gè)月起每個(gè)月都生一對(duì)兔子,小兔子長(zhǎng)到第三個(gè)月后每個(gè)月又生一
對(duì)兔子,假如兔子都不死,問每個(gè)月的兔子總數(shù)為多少?剛開始真的無(wú)從下手,這么難的,怎么可以說是基礎(chǔ)呢,感覺這些應(yīng)該是邏輯分析很強(qiáng)的,第一個(gè)月只有一對(duì)兔子,第二個(gè)月還是只有一對(duì)兔子,第三個(gè)月,就有兩對(duì)了,第四個(gè)月3對(duì),第五個(gè)月5對(duì),第六個(gè)月8對(duì),第七個(gè)月是13對(duì)。。。。。。規(guī)律出來(lái)了,你們發(fā)了沒?[java]
\o"viewplain"viewplain
\o"copy"copypublic
class
Example1{
public
static
void
main(String
args[]){
//i是表示月份的,這里計(jì)算了36個(gè)月,也就是三年,兔子的數(shù)量
int
i;
long
arr[]=new
long[36];
//這個(gè)數(shù)組時(shí)用來(lái)計(jì)算每月有兔子的對(duì)數(shù)
arr[0]=arr[1]=1;
System.out.println("第1個(gè)月有兔子1對(duì)"+",
"+"總數(shù)是"+2);
System.out.println("第2個(gè)月有兔子1對(duì)"+",
"+"總數(shù)是"+2);
for(i=2;i<=35;i++){
arr[i]=arr[i-1]+arr[i-2];
System.out.println("第"+i+"個(gè)月有兔子"+arr[i]+"對(duì)"+",
"+"總數(shù)是"+2*arr[i]);
//規(guī)律是
每個(gè)數(shù)字都是前面兩個(gè)數(shù)字之和
}
}
}
OK,用時(shí)45分鐘。
【程序2】
題目:判斷101-200之間有多少個(gè)素?cái)?shù),并輸出所有素?cái)?shù)。
素?cái)?shù)又叫質(zhì)數(shù),就是除了1和它本身之外,再也沒有整數(shù)能被它整除的數(shù)。也就是素?cái)?shù)只有兩個(gè)因子。[java]
\o"viewplain"viewplain
\o"copy"copypublic
class
Example2
{
public
static
void
main(String
args[]){
int
i,j,n,m,x;
//n是用來(lái)存儲(chǔ)余數(shù)的;m是用來(lái)統(tǒng)計(jì)具體一個(gè)數(shù)的因子;
n=0;m=0;x=0;
//x是用來(lái)統(tǒng)計(jì)101~200之前素?cái)?shù)的個(gè)數(shù)
for(i=101;i<=200;i++){
//兩重循環(huán)
for(j=1;j<=i;j++){
n=i%j;
//去余數(shù),如果余數(shù)為零,就是該數(shù)的因子
if(n==0)
{
m=m+1;
}
//統(tǒng)計(jì)某數(shù)有多少個(gè)因子
}
if(m==2){System.out.print(i+"
");
x=x+1;}
//如果某數(shù)的因子只有兩個(gè),那它就一定是素?cái)?shù),那這個(gè)數(shù)就應(yīng)該輸出
m=0;
//一定要清零,不然會(huì)繼續(xù)累加
}
System.out.println();
System.out.println("在101~200之間一共有素?cái)?shù):"+x+"個(gè)");
}
}
我好笨啊,這題我做了兩個(gè)鐘頭,最終還是解決了。加油
【程序3】
題目:打印出所有的"水仙花數(shù)",所謂"水仙花數(shù)"是指一個(gè)三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如:
153是一個(gè)"水仙花數(shù)",因?yàn)?53=1的三次方+5的三次方+3的三次方。想當(dāng)年,做這些題都是網(wǎng)上找答案,如今事過境遷,不會(huì)也得會(huì)。[java]
\o"viewplain"viewplain
\o"copy"copypublic
class
Example3
{
public
static
void
main(String
args[]){
int
a,sum;
//表示100~999
int
i,j,k;//分別表示百位、十位、各位
for(a=100;a<=999;a++){
i=a/100;
j=(a-i*100)/10;
k=a-i*100-j*10;
sum=i*i*i+j*j*j+k*k*k;
//java的運(yùn)算符,立方要這樣寫,寫成i^3這樣,竟然運(yùn)算不出來(lái)
//如果遇到高次的話可以使用循環(huán)算出來(lái)
if(sum==a)
{
System.out.println(sum);
}
}
還是有學(xué)到點(diǎn)東西,應(yīng)該還有別的方法。那我就試試吧。
[java]
\o"viewplain"viewplain
\o"copy"copypublic
class
Example4
{
public
static
void
main(String
args[]){
int
sum;
int
i,j,k;//分別表示百位、十位、各位
for(i=1;i<=9;i++){
for(j=0;j<=9;j++){
for(k=0;k<=9;k++){
sum=i*i*i+j*j*j+k*k*k;
if(i*100+j*10+k==sum){
System.out.println(sum);
}
}
}
}
}
}
【程序4】
題目:將一個(gè)正整數(shù)分解質(zhì)因數(shù)。例如:輸入90,打印出90=2*3*3*5。
(1)如果這個(gè)質(zhì)數(shù)恰等于n,則說明分解質(zhì)因數(shù)的過程已經(jīng)結(jié)束,打印出即可。
(2)如果n<>k,但n能被k整除,則應(yīng)打印出k的值,并用n除以k的商,作為新的正整數(shù)你n,重復(fù)執(zhí)行第一步。
(3)如果n不能被k整除,則用k+1作為k的值,重復(fù)執(zhí)行第一步。
[java]
\o"viewplain"viewplain
\o"copy"copyimport
java.util.*;
public
class
Example4{
public
static
void
main(String[]
args){
int
x;
Scanner
in
=
new
Scanner(System.in);//定義從鍵盤輸入
System.out.print("請(qǐng)輸入一個(gè)正整數(shù):");//提示
x
=
in.nextInt();
//將從鍵盤輸入的數(shù)賦值給x
new
PrimeSplit(x);
//匿名初始化一個(gè)對(duì)象,還有參數(shù)的構(gòu)造函數(shù)
}
}
class
PrimeSplit{
int
k
=
2;
//將最小的質(zhì)數(shù)賦值給k
public
PrimeSplit(int
x){
//小于等于1的數(shù)不可以分解
if(x<=1){
System.out.println(x+"是無(wú)效的被分解數(shù)");
}
else
if(x==2){
System.out.println(x+"分解后的質(zhì)因數(shù)為:
1*"+x);
//如果輸入的是最小質(zhì)數(shù)2,
}else
{
System.out.print(x+"分解后的質(zhì)因數(shù)為:
1");
//1是所有的正整數(shù)的質(zhì)數(shù)
while(k<=x){
//輸入的數(shù)可以被k整除
if(x%k==0){
System.out.print("*"+k);
//將k添加到結(jié)果中
x
=
x/k;//除以最小質(zhì)數(shù)后重新循環(huán)
}
else{
k++;
}
}
}
}
}
【程序5】
題目:利用條件運(yùn)算符的嵌套來(lái)完成此題:學(xué)習(xí)成績(jī)>=90分的同學(xué)用A表示,60-89分之間的用B表示,60分以下
的用C表示。
[java]
\o"viewplain"viewplain
\o"copy"copypublic
class
Example5
{
public
static
void
main(String
args[]){
int
score=90;
//分?jǐn)?shù)的值可以隨便修改
if(score>=90){
System.out.println("A");
}
else
if(score>=60){
System.out.println("B");
}
else{
System.out.println("C");
}
}
}
【程序6】
題目:輸入兩個(gè)正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。
[java]
\o"viewplain"viewplain
\o"copy"copypublic
class
Example6
{
public
static
void
main(String
args[]){
gcdlcm
a
=new
gcdlcm();
System.out.println("兩數(shù)的最大公約數(shù)是:"+a.gcd(10,
16));
System.out.println("兩數(shù)的最小公倍數(shù)是:"+a.lcm(16,
10));
}
}
class
gcdlcm{
int
gcd(int
m,int
n){
if(m<n){
//這個(gè)判斷是爲(wèi)了將大數(shù)放在前面
int
temp=n;
n=m;
m=temp;
}
if(m%n==0){
return
n;
}
else{
m%=n;
return
gcd(m,n);
//這裡也可以寫成gcd(n,m),就省掉了前面的判斷了,會(huì)快一點(diǎn)
}
}
int
lcm(int
m,int
n){
int
i=1;
if(m<n){
//這個(gè)判斷是爲(wèi)了將大數(shù)放在前面
int
temp=n;
n=m;
m=temp;
}
int
lcm=m;
while(lcm%n!=0){
lcm=m*i;
i++;
}
return
lcm;
}
}
【程序7】
題目:輸入一行字符,分別統(tǒng)計(jì)出其中英文字母、空格、數(shù)字和其它字符的個(gè)數(shù)。
[java]
\o"viewplain"viewplain
\o"copy"copyimport
java.util.Scanner;
public
class
Example
{
public
static
void
main(String[]
args)
{
//
TODO
Auto-generated
method
stub
int
abcCount=0;//英文字母?jìng)€(gè)數(shù)
int
spaceCount=0;//空格鍵個(gè)數(shù)
int
numCount=0;//數(shù)字個(gè)數(shù)
int
otherCount=0;//其他字符個(gè)數(shù)
Scanner
scan=new
Scanner(System.in);
String
str=scan.nextLine();
char[]
ch
=
str.toCharArray();
for(int
i=0;i<ch.length;i++){
if(Character.isLetter(ch[i])){
//判斷是否字母
abcCount++;
}
else
if(Character.isDigit(ch[i])){
//判斷是否數(shù)字
numCount++;
}
else
if(Character.isSpaceChar(ch[i])){
//判斷是否空格鍵
spaceCount++;
}
else{
//以上都不是則認(rèn)為是其他字符
otherCount++;
}
}
System.out.println("字母?jìng)€(gè)數(shù):"+abcCount);
System.out.println("數(shù)字個(gè)數(shù):"+numCount);
System.out.println("空格個(gè)數(shù):"+spaceCount);
System.out.println("其他字符個(gè)數(shù):"+otherCount);
}
}
【程序8】
題目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一個(gè)數(shù)字。例如2+22+222+2222+22222(此時(shí)共有5個(gè)數(shù)相加),
幾個(gè)數(shù)相加有鍵盤控制。
【程序9】
題目:一個(gè)數(shù)如果恰好等于它的因子之和,這個(gè)數(shù)就稱為"完數(shù)"。例如6=1+2+3.編程找出1000以內(nèi)的所有完
數(shù)。
【程序10】
題目:一球從100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地時(shí),共經(jīng)過多
少米?第10次反彈多高?
【程序11】
題目:有1、2、3、4個(gè)數(shù)字,能組成多少個(gè)互不相同且無(wú)重復(fù)數(shù)字的三位數(shù)?都是多少?
【程序12】
題目:企業(yè)發(fā)放的獎(jiǎng)金根據(jù)利潤(rùn)提成。利潤(rùn)(I)低于或等于10萬(wàn)元時(shí),獎(jiǎng)金可提10%;利潤(rùn)高于10萬(wàn)元,低于20萬(wàn)
元時(shí),低于10萬(wàn)元的部分按10%提成,高于10萬(wàn)元的部分,可可提成7.5%;20萬(wàn)到40萬(wàn)之間時(shí),高于20萬(wàn)元的部
分,可提成5%;40萬(wàn)到60萬(wàn)之間時(shí)高于40萬(wàn)元的部分,可提成3%;60萬(wàn)到100萬(wàn)之間時(shí),高于60萬(wàn)元的部分,可
提成1.5%,高于100萬(wàn)元時(shí),超過100萬(wàn)元的部分按1%提成,從鍵盤輸入當(dāng)月利潤(rùn)I,求應(yīng)發(fā)放獎(jiǎng)金總數(shù)?
【程序13】
題目:一個(gè)整數(shù),它加上100后是一個(gè)完全平方數(shù),再加上168又是一個(gè)完全平方數(shù),請(qǐng)問該數(shù)是多少?
【程序14】
題目:輸入某年某月某日,判斷這一天是這一年的第幾天?
【程序15】
題目:輸入三個(gè)整數(shù)x,y,z,請(qǐng)把這三個(gè)數(shù)由小到大輸出。
【程序16】
題目:輸出9*9口訣。
【程序17】
題目:猴子吃桃問題:猴子第一天摘下若干個(gè)桃子,當(dāng)即吃了一半,還不癮,又多吃了一個(gè)第二天早上又將剩
下的桃子吃掉一半,又多吃了一個(gè)。以后每天早上都吃了前一天剩下
的一半零一個(gè)。到第10天早上想再吃時(shí),見只剩下一個(gè)桃子了。求第一天共摘了多少。
【程序18】
題目:兩個(gè)乒乓球隊(duì)進(jìn)行比賽,各出三人。甲隊(duì)為a,b,c三人,乙隊(duì)為x,y,z三人。已抽簽決定比賽名單。有人向
隊(duì)員打聽比賽的名單。a說他不和x比,c說他不和x,z比,請(qǐng)編程序找出三隊(duì)賽手的名單。
【程序19】
題目:打印出如下圖案(菱形)
*
***
******
********
******
***
*
【程序20】
題目:有一分?jǐn)?shù)序列:2/1,3/2,5/3,8/5,13/8,21/13...求出這個(gè)數(shù)列的前20項(xiàng)之和。
【程序21】
題目:求1+2!+3!+...+20!的和
【程序22】
題目:利用遞歸方法求5!。
【程序23】
題目:有5個(gè)人坐在一起,問第五個(gè)人多少歲?他說比第4個(gè)人大2歲。問第4個(gè)人歲數(shù),他說比第3個(gè)人大2歲。問
第三個(gè)人,又說比第2人大兩歲。問第2個(gè)人,說比第一個(gè)人大兩歲。最后問第一個(gè)人,他說是10歲。請(qǐng)問第五個(gè)
人多大?
【程序24】
題目:給一個(gè)不多于5位的正整數(shù),要求:一、求它是幾位數(shù),二、逆序打印出各位數(shù)字。
【程序25】
題目:一個(gè)5位數(shù),判斷它是不是回文數(shù)。即12321是回文數(shù),個(gè)位與萬(wàn)位相同,十位與千位相同。
【程序26】
題目:請(qǐng)輸入星期幾的第一個(gè)字母來(lái)判斷一下是星期幾,如果第一個(gè)字母一樣,則繼續(xù)判斷第二個(gè)字母。
【程序27】
題目:求100之內(nèi)的素?cái)?shù)
【程序28】
題目:對(duì)10個(gè)數(shù)進(jìn)行排序
【程序29】
題目:求一個(gè)3*3矩陣對(duì)角線元素之和
【程序30】
題目:有一個(gè)已經(jīng)排好序的數(shù)組?,F(xiàn)輸入一個(gè)數(shù),要求按原來(lái)的規(guī)律將它插入數(shù)組中。
【程序31】
題目:將一個(gè)數(shù)組逆序輸出。
【程序32】
題目:取一個(gè)整數(shù)a從右端開始的4~7位。
【程序33】
題目:打印出楊輝三角形(要求打印出10行如下圖)
1
11
121
1331
14641
1
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 冷作外包合同范本
- 凈化車間合同范本
- 兒童套裝采購(gòu)合同范本
- 修繕祖墳合同范本
- 制作標(biāo)語(yǔ)購(gòu)銷合同范本
- 聘請(qǐng)?jiān)O(shè)計(jì)師合同范本
- 保證合同范本模板
- 代理飲料合同范本
- 劃撥土地房屋出售合同范本
- 加工柜體合同范本
- 文科學(xué)術(shù)規(guī)范與學(xué)術(shù)論文寫作課件
- 人教版小學(xué)二年級(jí)體育下冊(cè)全冊(cè)教案
- 農(nóng)業(yè)政策學(xué)PPT完整全套教學(xué)課件
- 國(guó)家電網(wǎng)招聘之其他工學(xué)類復(fù)習(xí)資料大全
- 天山天池景區(qū)介紹-天山天池景點(diǎn)PPT(經(jīng)典版)
- 電動(dòng)機(jī)潤(rùn)滑檔案
- 房地產(chǎn) -中建一局成本復(fù)盤案例匯編
- 回延安部編語(yǔ)文名師公開課一等獎(jiǎng)教學(xué)設(shè)計(jì)課件2
- 正常分娩 第三產(chǎn)程的臨床經(jīng)過及護(hù)理
- 《當(dāng)前中國(guó)海疆形勢(shì)》課件
- 最新數(shù)字媒體藝術(shù)概論課件
評(píng)論
0/150
提交評(píng)論