1. 程式人生 > >java經典程式設計題(19-21)

java經典程式設計題(19-21)

【程式19】題目:打印出如下圖案(菱形)

*   

***   

*****  

*******

*****  

***   

 1.程式分析:先把圖形分成兩部分來看待,前四行一個規律,後三行一個規律,利用雙重   for迴圈,第一層控制行,第二層控制列。 

public class Demo1 {
	public static void main(String[] args) {
		for(int i=1;i<=4;i++){
			int n = 2*i-1;
			for(int j=1;j<=n;j++){
				System.out.print("*");
			}
			System.out.println();
		}
		for(int i=3;i>=1;i--){
			int n = 2*i-1;
			for(int j=1;j<=n;j++){
				System.out.print("*");
			}
			System.out.println();
		}
	}
}


【程式20】題目:有一分數序列:2/13/25/38/513/821/13…求出這個數列的前20項之和。

public class Demo1 {
	public static void main(String[] args) {
		double m=1;
		double z=2;
		double sum=0;
		for(int i=1;i<=20;i++){
			System.out.print((int)z+"/"+(int)m);
			sum+=z/m;
			double t =z;
			z=m+z;
			m=t;
			if(i<20)
				System.out.print("+");
		}
		System.out.println("="+sum);
	}
}

【執行結果】

2/1+3/2+5/3+8/5+13/8+21/13+34/21+55/34+89/55+144/89+233/144+377/233+610/377+987/610+1597/987+2584/1597+4181/2584+6765/4181+10946/6765+17711/10946=32.66026079864164

【程式21】題目:求1+2!+3!++20!的和

public class Demo1 {
	public static double fun(int n){
		if(n==1||n==0)
			return 1;
		else
			return fun(n-1)*n;
	}
	public static void main(String[] args) {
		double sum=0;
		for(int i=1;i<=20;i++){
			sum +=fun(i);
			System.out.print(i+"!");
			if(i<20)
				System.out.print("+");
		}
		System.out.println("="+sum);
		
	}
}

【執行結果】

1!+2!+3!+4!+5!+6!+7!+8!+9!+10!+11!+12!+13!+14!+15!+16!+17!+18!+19!+20!=2.5613274941118203E18



相關推薦

java經典程式設計(19-21)

【程式19】題目:打印出如下圖案(菱形) *    ***    *****   ******* *****   ***    *   1.程式分析:先把圖形分成兩部分來看待,前四行一個規律,後三行一個規律,利用雙重   for迴圈,第一層控制行,第二層控制列。  pub

java經典程式設計(31-33)

【程式33】題目:打印出楊輝三角形(要求打印出10行如下圖) import java.util.Scanner; public class Demo1 { public static void main(String[] args) { Scanner scan = new Scanner(Syste

java經典程式設計(13-15)

【程式14】題目:輸入某年某月某日,判斷這一天是這一年的第幾天? public class Demo1 { public static void main(String[] args) { int day = 0; int month = 0; int year = 0; int sum

java經典程式設計(4-6)

【程式4】題目:將一個正整數分解質因數。例如:輸入90,打印出90=2*3*3*5。 程式分析:對n進行分解質因數,應先找到一個最小的質數k,然後按下述步驟完成:  (1)如果這個質數恰等於n,則說明分解質因數的過程已經結束,打印出即可。  (2)如果n <> 

java經典程式設計(34-36)

【程式35】題目:輸入陣列,最大的與第一個元素交換,最小的與最後一個元素交換,輸出陣列。 import java.util.Scanner; public class Demo1 { public static void main(String[] args) { Scanner scan = ne

java經典程式設計 爬樓梯問題的解答

題目://假設你現在正在爬樓梯,樓梯有 n級。每次你只能爬 1 級或者 2 級,那麼你有多少種方法爬到樓梯的頂部? //第一行輸入一個整數 n(1≤n≤50),代表樓梯的級數。 //輸出爬到樓梯頂部

java經典程式設計(28-30)

public class Demo1 { public static void main(String[] args) { int a[] = new int[10]; Random r=new Random(); for(int i=0;i<10;i++){ a[i]=r.next

50道經典Java邏輯程式設計

【程式1】 題目:古典問題:有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少? 1.程式分析:兔子的規律為數列1,1,2,3,5,8,13,21.... 【程式2】 題目:判斷101

java介面程式設計

1、建立Person介面(即“人”),它有setData()和getData()方法對“人”屬性name、sex和birthday賦值和獲得這些屬性組成的字串資訊。建立類Student實現Person介面,並對自己的“學生”屬性的成員變數sID、speciality設定值和獲得它們值所組成的字串

C語言經典程式設計282-19-直接插入排序

插入排序是直接把一個數據插入到已有的序列中 插入位置的確定:是將待插入的資料與已有序列進行比較。 #include <stdio.h> void insort(int s[],int n) { int i,j; for(i=2;i<=n;i++) //從

Java經典50

轉載原創:https://blog.csdn.net/wenzhi20102321/article/details/52274976   JAVA基礎程式設計練習50題 本文對50道經典的java程式題進行詳細解說,對於初學者可以跳過一些

Java基礎程式設計—1

1.編寫一個圓類Circle,該類擁有:...,並列印輸出 package test; public class Circle { protected double radius; public Circle(){ radius = 0; } public Circle(

【搞定Java併發程式設計】第21篇:Java併發容器之ConcurrentHashMap詳解

上一篇:讀寫鎖 --- ReentrantReadWriteLock詳解 本文目錄: 1、為什麼要使用ConcurrentHashMap? 2、ConcurrentHashMap的實現 2.1、ConcurrentHashMap中主要的成員變數、成員方法和內部類 2.2、分段鎖的

java面試程式設計(二叉樹相關)

題目: 輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列{1,2,4,7,3,5,6,8}和中序遍歷序列{4,7,2,1,5,3,8,6},則重建二叉樹並返回。 二叉樹結構為

Java日期程式設計

題目描述:計算從今天算起,150天之後是幾月幾號,並格式化成xxxx年xx月x日的形式打印出來。 提示:呼叫Calendar類的add方法計算150天之後的日期 呼叫Calendar類的getTim

Java基礎程式設計(API階段測試)(答案)

第一題(程式設計題: 15分 )(答案) import java.util.Scanner; public class Test1 { /** * 模擬登入,給三次機會,並提示還有幾

java邏輯程式設計

以下程式分析是老師給出的提示,解答思路是自己的思考 1、題目:有一對兔子,從出生後第三個月起每個月都升一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,問每個月的兔子總數為多少 解答思路:兔子狀態分為newBorn(新生),oneM(一個月之後),adult

Java簡單程式設計訓練一

字串反轉 import java.util.*; public class Main{ public static void main(String[] args){ Scanner in =new Scanner(System.in);

c++經典程式設計彙總

《c++》程式設計題試卷 第三章 1.編寫一個求方程ax2 + bx + c = 0的根 的程式,用3個函式分別求當b2-4ac大於零、等於零、和小於零時的方程的根。要求從主函式輸入a,b,c的值並輸出結果。 #include < iostream.h &

Introduction to Java Programming程式設計5.29

/* You rolled 2 + 1 = 3 You lose You rolled 1 + 4 = 5 Point is 5 You rolled 5 + 1 = 6 You rolled 5