中國通用航空行業(yè)市場未來發(fā)展趨勢及投資規(guī)模預(yù)測報告
《中國通用航空行業(yè)市場未來發(fā)展趨勢及投資規(guī)模預(yù)測報告》由會員分享,可在線閱讀,更多相關(guān)《中國通用航空行業(yè)市場未來發(fā)展趨勢及投資規(guī)模預(yù)測報告(130頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、N皇后問題 /* N皇后 題目描述 說明西洋棋中的皇后可以直線前進,吃掉遇到的所有棋子,如果棋盤上有八個皇后,則這八個皇后如何相安無事的放置在棋盤上, * 1970年與1971年, E.W.Dijkstra與N.Wirth曾經(jīng)用這個問題來講解程式設(shè)計之技巧。 該題要求N皇后的放置結(jié)果共有多少種 輸入描述 輸入一個正整數(shù)N(N<16) 輸出描述 輸出結(jié)果 輸入樣例 8 輸出樣例 92 * * 1 * 2 */ packagejava201211; import java.util.Scanner; /** * * @au
2、thor Administrator */ public class N皇后 { static int n = 8; static int[] lie = new int[n]; static int count=0; static boolean canPlace(int k) { boolean canPlace=true; for (int i = 0; i < k; i++) { if (Math.abs(lie[k] - lie[i]) == Math.abs(k - i
3、) || lie[k] == lie[i]) { canPlace=false; } } return canPlace; } static void backtrack(int m){ if(m>n-1){ count++; }else{ for (int i = 0; i < n; i++) { lie[m]=i;
4、 if(canPlace(m)){ backtrack(m+1); } } } } /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here Scanner sc = new Scanner(
5、System.in); n = sc.nextInt(); lie = new int[n]; backtrack(0); System.out.println(count); } } 24點 /* 二十四點 題目描述 問題描述:輸入4個數(shù),通過 加、減、乘、除運算看能否得到 結(jié)果 24,每個數(shù)只用一次,如果能輸出 一種公式, 輸入描述 輸入四個正整數(shù) 輸出描述 能通過某種方式得到24則輸出1,不能則輸出0 輸入樣例 6 6 6 6 輸出樣例 1 6+6+6+6 *
6、 * * 0 1 2 3 4 5 6 * 0 1 2 3 * * 1 2 3 4 * 3 4 3 * 3 7 3 -1 * 10 10 * * -4 -1 * */ package java201211; import java.util.ArrayList; import java.util.List; import java.util.Scanner; /** * * @author Administrator */ public class _24點2 { static int
7、data[] = {6, 6, 6, 6};
static float s = 0;
static String str = "";
static List
8、e() == 1) {
if(s==24){
count++;
}
//System.out.println(str);
} else {
for (int n = 0; n < list.size()-1; n++) {
for (int i = n + 1; i < list.size(); i++) {
List
9、rayList(); tlist.addAll(list); s = list.get(n) + list.get(i); tlist.remove(n); tlist.remove(i-1); tlist.add(s); search(tlist); tlist.clear();
10、 tlist.addAll(list); s = list.get(n) - list.get(i); tlist.remove(n); tlist.remove(i-1); tlist.add(s); search(tlist); tlist.clear(); tl
11、ist.addAll(list); s = -list.get(n) + list.get(i); tlist.remove(n); tlist.remove(i-1); tlist.add(s); search(tlist); tlist.clear(); tlist.addAll(list);
12、 s = list.get(n) * list.get(i); tlist.remove(n); tlist.remove(i-1); tlist.add(s); search(tlist); tlist.clear(); tlist.addAll(list);
13、 s = list.get(n) / list.get(i); tlist.remove(n); tlist.remove(i-1); tlist.add(s); search(tlist); tlist.clear(); tlist.addAll(list); s = list.get(i)
14、/list.get(n); tlist.remove(n); tlist.remove(i-1); tlist.add(s); search(tlist); } } } } /** * @param args the command line arguments */ public
15、static void main(String[] args) { // TODO code application logic here Scanner sc = new Scanner(System.in); for (int i = 0; i < 4; i++) { list.add( (float)sc.nextInt()); } search(list); if (count > 0) { //System.out.pri
16、ntln(count); System.out.println("1"); } else { System.out.println("0"); } } } 砝碼組合 /* 用天平稱重時,我們希望用盡可能少的砝碼組合稱出盡可能多的重量。 如果只有5個砝碼,重量分別是1,3,9,27,81。 則它們可以組合稱出1到121之間任意整數(shù)重量(砝碼允許放在左右兩個盤中)。 本題目要求編程實現(xiàn):對用戶輸入的重量(1~121), 給出砝碼組合方案(用加減式表示,減代表砝碼放在物品盤)。 例如:
17、 輸入: 5 輸出: 9-3-1 輸入: 19 輸出: 27-9+1 * * 類似0 1背包問題 回溯法 */ package java201211; import java.util.Arrays; import java.util.Scanner; /** * @copyright 朱小波 * @author 朱小波 * @date 2012-11-22 09:36:37 */ public class famazuhe { static int w[] = {0, 1, 3, 9, 27, 81}; stati
18、c int x[] = {0, 0, 0, 0, 0, 0}; static int current = 0; public static void printResult(){ for (int j = x.length-1; j > 0; j--) { if(1==x[j]||2==x[j]) { System.out.print(w[j]); for (int jj = j-1; jj > 0; jj--
19、) { if(1==x[jj]) System.out.print("+"+w[jj]); if(2==x[jj]) System.out.print("-"+w[jj]); } break; } } } public static void backtrack(in
20、t i, int n) { if (i > 5) { if (current == n) { printResult(); } } else { if (current == n) { printResult(); } else { //+砝碼 x[i] = 1;
21、 current += w[i]; backtrack(i + 1, n); current -= w[i]; //-減砝碼 x[i] = 2; current -= w[i]; backtrack(i + 1, n); current += w[i]; //不
22、選 x[i]=0; backtrack(i+1,n); } } } /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here Scanner sc= new
23、Scanner(System.in);
int n=sc.nextInt();
backtrack(1, n);
}
}
取石子
/*
* 動態(tài)規(guī)劃思想
題目描述
有一堆石子,A,B兩人輪流從中取出石子,每次取出的石子數(shù)目只能為1,3,7或8,最后一枚石子誰取到就是輸方。A,B兩人都足夠聰明,不會做出錯誤的判斷?,F(xiàn)給出一定數(shù)目的石子,A先取石子,計算A最終是輸是贏,贏用1表示,輸用0表示.
輸入描述
第一行為一個整數(shù)n(0 24、0),
輸出描述
編程輸出A對應(yīng)的n局是贏是輸,贏輸出1,輸輸出0.
輸入樣例
3
1
3
10
輸出樣例
0
0
1
*
*
*
*
*
測試數(shù)據(jù)
5
1
2
10
11
18
*
*
0
1
1
1
0
*/
package java201211;
import java.util.Scanner;
/**
* @copyright 朱小波
* @author 朱小波
* @date 2012-11-23 07:37:17
*/
public class qushizhi3 {
25、 /**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Scanner sc= new Scanner(System.in);
int n = sc.nextInt();
int amount[]=new int[n];
int status[]=new int[10000 26、];
int max=0;
for (int j = 0; j 27、status[7]=0;
status[8]=1;
for(int i=9;i<=max;i++){
status[i]=0;
if(0==status[i-1]||0==status[i-3]||0==status[i-7]||0==status[i-8])//狀態(tài)轉(zhuǎn)移式
status[i]=1;
}
for (int i = 0; i < n; i++) {
System.out.println(statu 28、s[amount[i]]);
}
}
}
x的y次方后三位
/*
題目描述解本題最直接的方法是:將13累乘13次方截取最后三位即可。
但是由于計算機所能表示的整數(shù)范圍有限,用這種“正確”的算法不可能得到正確的結(jié)果。
事實上,題目僅要求最后三位的值,完全沒有必要求13的13次方的完整結(jié)果。
研究乘法的規(guī)律發(fā)現(xiàn):乘積的最后三位的值只與乘數(shù)和被乘數(shù)的后三位有關(guān),與乘數(shù)和被乘數(shù)的高位無關(guān)。利用這一規(guī)律,可以大大簡化程序。
輸入描述數(shù)據(jù)分n組,對于每組數(shù)據(jù)有兩個正整數(shù)x和y(x的y次方必須大于100)
輸出描述對于每組輸出,輸出一個值,即x的y次方結(jié) 29、果的最后三位數(shù)
提示:13的13次方為: 302875106592253(這個數(shù)已經(jīng)超出一般計算機表示的范圍了)
輸入樣例
1
13 13
輸出樣例253
*/
package java201211;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
*
* @author Administrator
*/
public class x的y次方后三位 {
static int powerr(int m, int n) {
30、 int t = 1;
for (int i = n; i > 0; i--) {
t *= getLastThree(m);
t = getLastThree(t);
}
return t;
}
static int getLastThree(int n) {
int t = n / 1000;
return n - t * 1000;
}
/**
* @param args the c 31、ommand line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
List 32、 x = sc.nextInt();
y = sc.nextInt();
result.add(powerr(x,y));
n--;
}
for (int object : result) {
System.out.println(object);
}
}
}
最大乘積
/*
*
*
最大k乘積問題
題目描述
設(shè)I是一個n位十進制整數(shù).如果將I劃分為k段,則可得到k個整數(shù).這k個整數(shù)的乘積稱為I的一個k 33、乘積.試設(shè)計一個算法,對于給定的I和k ,求出I的最大k乘積.
Input
輸入的第1行中有2個正整數(shù)n和k.正整數(shù)n是序列的長度;正整數(shù)k是分割的段數(shù).接下來的一行中是一個n位十進制整數(shù).(n<=10)
Output
輸出計算結(jié)果,第1行中的數(shù)是計算出的最大k乘積.
輸入描述
輸入的第1行中有2個正整數(shù)n和k.正整數(shù)n是序列的長度;正整數(shù)k是分割的段數(shù).接下來的一行中是一個
n位十進制整數(shù).(n<=10)
輸出描述
輸出計算結(jié)果,第1行中的數(shù)是計算出的最大k乘積.
輸入樣例
2 1
15
輸出樣例
15
*
*
*
* 分析1569
34、* 劃分2段
* 1 569
* 15 69
* 156 9
* 劃分三段
* 在2段的第二段上劃分2段
* 1 5 69
* 1 56 9
* 15 6 9
* 一次類推
*
*/
package java201211;
import java.util.Scanner;
/**
* @copyright 朱小波
* @author 朱小波
* @date 2012-11-23 08:42:19
*/
public class zuidachengji {
static int res=1;//乘積的結(jié)果
static 35、int duan=1;//當(dāng)前段數(shù)
static int d=4;//要劃分的段數(shù)
static int max=0;//最大乘積
static void divide(int x,int i){//i是x的位數(shù) d是劃分的段數(shù)
if(d==duan){
res*=x;
max=max>res?max:res;
//System.out.println(res);
}
else{
for(int 36、j=i-1;j>=1;j--){//左段i-1為數(shù)
res=res*(int)(Math.floor(x/Math.pow(10,j)));//取整
duan++;
divide((int)(x%Math.pow(10,j)),j);//繼續(xù)對右段進行劃分
//回溯
duan--;
res=1;
}
}
}
/**
37、 * @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
//divide(1569,4);
Scanner sc = new Scanner(System.in);
int len = sc.nextInt();
d=sc.nextInt();
int l=sc.nextInt 38、();
//System.out.println(len+" "+d+" "+l);
divide(l,len);
System.out.println(max);
//System.out.println(Math.floor(123/Math.pow(10, 2)));
}
}
乒乓球賽
/*
乒乓球比賽
題目描述
兩個乒乓球隊進行比賽,各出三人。甲隊為a,b,c三人,乙隊為x,y,z三人。已抽簽
決定比賽名單。共三場比賽,所有隊員必須參加比賽。有人向隊員打聽比賽的名單,
a說他不和x 39、比,c說他不和x,z比,請編程找出三場比賽賽手的名單。
輸入描述
此題不需要輸入
輸出描述
假設(shè)a和y比,則輸出
a vs y
嚴(yán)格按照上面的格式輸出,不要有多余的文字?jǐn)⑹龌蚍?,每場比賽輸出占一?
輸入樣例
不需要輸入
輸出樣例
a vs y
*/
package java201211;
import java.util.Arrays;
/**
*
* @author Administrator
*/
public class 乒乓球賽 {
static int a[] = {1, 2, 3};
static 40、 char[] abc = {'a', 'b', 'c'};
static int x[] = {1, 2, 3};
static char[] xyz = {'x', 'y', 'z'};
static void swap(int aa, int bb) {
int temp = x[aa];
x[aa] = x[bb];
x[bb] = temp;
}
static void perm(int n) {
//System.out.println(Arrays.t 41、oString(x));
if (n > 2) {
if (a[0] != x[0] && a[2] != x[0] && a[2] != x[2]) {
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (a[i] == x[j]) {
System.out.println(abc[i] + 42、" vs " + xyz[j]);
}
}
}
}
} else {
for (int i = n ; i < 3; i++) {
swap(i, n);
perm(n + 1);
swap(i, n);
}
}
}
/**
43、
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
perm(0);
}
}
全排列
/*
排列組合
題目描述
對字符串(數(shù)字,字母,符號)進行全排列,并統(tǒng)計全排列的種樹
輸入描述
輸入一個字符串
輸出描述
輸出字符串的全排列,每種情況占一行,最后一行輸出全排列的個數(shù)
輸入樣例
123 44、
輸出樣例
123
132
213
231
312
321
6
*/
package java201211;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
/**
*
* @author Administrator
*/
public class 全排列 {
static String s = "12";
static char[] ch = s.toCharArray();
static int coun 45、t = 0;
static List 46、 }
} else {
for (int i = n; i < ch.length; i++) {
exchange(n, i);
backtrack(n + 1);
exchange(n, i);
}
}
}
static boolean is_has(String str){
for (String s : sl 47、) {
if(s.equals(str))
return true;
}
return false;
}
static void exchange(int a, int b) {
char tem = ch[a];
ch[a] = ch[b];
ch[b] = tem;
}
/**
* @param args the command line arguments
*/
48、 public static void main(String[] args) {
// TODO code application logic here
Scanner sc=new Scanner(System.in);
s=sc.next();
ch = s.toCharArray();
backtrack(0);
System.out.println(count);
}
}
8數(shù)碼問題
/*廣度搜索
Eight
題目描述
在3*3的棋盤上,擺有八個棋子 49、,每個棋子上標(biāo)有1至8的某一數(shù)字.棋盤中留有一個空格,空格用0來表示.空格周圍的棋子可以移到空格中.要求解的問題是:給出一種初始布局和目標(biāo)布局,為了使題目簡單,設(shè)目標(biāo)狀態(tài)為:
1 2 3
8 0 4
7 6 5
找到一種最少步驟的移動方法,實現(xiàn)從初始布局到目標(biāo)布局的轉(zhuǎn)變.
輸入描述
輸入初試狀態(tài),3*3的九個數(shù)字,空格用0表示.
輸出描述
只有一行,該行只有一個數(shù)字,表示從初始狀態(tài)到目標(biāo)狀態(tài)需要的最少移動次
(若無法到達目標(biāo)狀態(tài)則輸出-1).
輸入樣例
2 8 3
1 0 4
7 6 5
輸出樣例
4
*
* 利用奇偶性判斷所給出的初始狀態(tài)有無 50、解.
判別方法是:
以數(shù)組為一維的舉例子.
將八數(shù)碼的一個結(jié)點表示成一個數(shù)組a[9],空格用0表示,設(shè)臨時函數(shù)p(x)定義為:x數(shù)所在位置前面的數(shù)比x小的數(shù)的個數(shù),
其中0空格不算在之內(nèi),那設(shè)目標(biāo)狀態(tài)為b[9],那r=sigma(p(x)) sigma()表示取所有的x:1-8并求和,
那對于初始狀態(tài)a[9],t=sigma(p(x)),如果r和t同為奇數(shù)或者同為偶數(shù),那么該狀態(tài)有解,否則無解。
*/
package java201211;
import java.util.Scanner;
import java.util.Vector;
/**
* @co 51、pyright 朱小波
* @author 朱小波
* @date 2012-11-26 06:19:58
*/
public class 八數(shù)碼問題2 {
//static int[][] endGrid = new int[3][3];
//static int[][] startGrid = new int[3][3];
static Vector nodeList = new Vector();
static int startGrid[][] = {{2, 8, 3}, {1, 0, 4}, {7, 6, 5}};//開始狀態(tài)
52、 static int endGrid[][] = {{1, 2, 3}, {8, 0, 4}, {7, 6, 5}};//結(jié)束狀態(tài)
static int qipan[] = new int[9];//轉(zhuǎn)換成一行
static int qipan2[] = new int[9];
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
int sum = 0;
in 53、t start = 0;
int end = 0;
int m = 1, n = 1;//0的初始位置
while (sum < 9) {
Scanner input = new Scanner(System.in);
//System.out.println("請輸入數(shù)據(jù)的初始狀態(tài)!");
for (int k = 1; k < 4; k++) {
//System.out.print("請輸入初始狀態(tài)的第" + k + "行: 54、");
for (int j = 0; j < 3; j++) {
if (input.hasNextInt()) {
startGrid[k - 1][j] = input.nextInt();
}
if (startGrid[k - 1][j] == 0) {
m = k - 1;
n 55、 = j;
}
sum++;
}
}
int i=0;
for (int k = 0; k < 3; k++) {
for (int j = 0; j < 3; j++) {
qipan[i]=startGrid[k][j];
qipan2[i]=endGrid[k][j];
56、
start += small(i, qipan);
end += small(i, qipan2);
i++;
}
}
//System.out.println("----------------------------");
//System.out.println("請輸入數(shù)據(jù)的終止?fàn)顟B(tài)!");
// for (int 57、k = 1; k < 4; k++) {
// //System.out.print("請輸入終止?fàn)顟B(tài)的第" + k + "行:");
// for (int j = 0; j < 3; j++) {
// if (input.hasNextInt())
// endGrid[k - 1][j] = input.nextInt();
// sum++;
// }
// 58、 }
if (sum < 9) {
System.out.println("數(shù)據(jù)輸入有誤,重新運行并輸入,注意:數(shù)字之間以空格間隔!");
} else {
break;
}
}// 初始化結(jié)束
//System.out.println(start+" "+end);
if (start % 2 == 0 && end % 2 == 0 || start % 2 != 0 && 59、end % 2 != 0) {//同奇數(shù)或者偶數(shù)有解
Node root = new Node(null, m, n, m, n, startGrid);
Vector v = new Vector();
v.add(root);
Node leaf = breathFirstSearch(v);
System.out.println(leaf.depth - 1);
} else {
System.out.println 60、("-1");
}
// 顯示結(jié)果:從終止節(jié)點向上直到根節(jié)點即初始節(jié)點
// int i = 0;
// while (leaf.father_node != null) {
// System.out.println(i + "times:");
// leaf.display();
// leaf = leaf.father_node;
// i++;
// }
}
public st 61、atic int small(int i, int qipan[]) {
int count = 0;
for (int j = 0; j < i; j++) {
if (qipan[j] < qipan[i]) {
count++;
}
}
return count;
}
public static Node depthFirstSearch(Node curNode) {
62、 if (curNode.equalGrid(endGrid)) {
return curNode;
}
nodeList.add(curNode);
curNode.setSons(nodeList, endGrid);
Node[] sons = curNode.getSons();
if (sons == null) {
return null;
}
for (int i = 0; i < sons.l 63、ength; i++) {
Node n = depthFirstSearch(sons[i]);
if (n != null) {
return n;
}
}
return null;
}
public static Node breathFirstSearch(Vector curNodes) {
Vector v = new Vector();
for (int i = 0; i 64、 < curNodes.size(); i++) {
Node n = (Node) curNodes.elementAt(i);
if (n.equalGrid(endGrid)) {
return (Node) curNodes.elementAt(i);
} else {
nodeList.add(n);
n.setSons(nodeList, endGrid);
Node[] 65、 sons = n.getSons();
if (sons != null) {
for (int j = 0; j < sons.length; j++) {
v.add(sons[j]);
}
}
}
}
return breathFirstSearch(v);
}
}
class Node {
i 66、nt depth;
Node father_node;
Node[] sons;
int oldX, oldY, newX, newY;
int grid[][] = new int[3][3];
public Node(Node father, int oldX, int oldY, int newX, int newY, int grid[][]) {
this.father_node = father;
if (this.father_node != null) {
this.depth = this.father_node.depth + 1;
} else {
this.depth
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 指向核心素養(yǎng)發(fā)展的高中生物學(xué)1輪復(fù)習(xí)備考建議
- 新課程新評價新高考導(dǎo)向下高三化學(xué)備考的新思考
- 新時代背景下化學(xué)高考備考策略及新課程標(biāo)準(zhǔn)的高中化學(xué)教學(xué)思考
- 2025屆江西省高考政治二輪復(fù)習(xí)備考建議
- 新教材新高考背景下的化學(xué)科學(xué)備考策略
- 新高考背景下的2024年高考化學(xué)二輪復(fù)習(xí)備考策略
- 2025屆高三數(shù)學(xué)二輪復(fù)習(xí)備考交流會課件
- 2025年高考化學(xué)復(fù)習(xí)研究與展望
- 2024年高考化學(xué)復(fù)習(xí)備考講座
- 2025屆高考數(shù)學(xué)二輪復(fù)習(xí)備考策略和方向
- 2024年感動中國十大人物事跡及頒獎詞
- XX教育系統(tǒng)單位述職報告教育工作概述教育成果展示面臨的挑戰(zhàn)未來規(guī)劃
- 2025《增值稅法》全文解讀學(xué)習(xí)高質(zhì)量發(fā)展的增值稅制度規(guī)范增值稅的征收和繳納
- 初中資料:400個語文優(yōu)秀作文標(biāo)題
- 初中語文考試專項練習(xí)題(含答案)