蠻力法是一種簡單,直接解決問題的方法,通常直接基於問題的描述和所涉及的概念定義。這裡的「力」是指計算機的計算能力,而不是人的智力。一般來說,蠻力法是最容易應用的方法。
蠻力法是把問題的所有情況或者所有的過程交給計算機去一一嘗試,從中找出問題的解。
蠻力法優點:邏輯清晰,編寫程式簡潔。
可以用來解決廣域領域的問題。
對於重要問題,可以產生一些合理的演算法。
可以解決一些小規模的問題。
可以作為其他高效演算法的衡量標準。
以下是對於蠻力法的練習
//題目描述
//給定n個數,請找出其中相差(差的絕對值)最小的兩個數,輸出它們的差值的絕對值。
//n < 5000
//輸入
//輸入第一行包含乙個整數n。第二行包含n個正整數,相鄰整數之間使用乙個空格分隔。
//輸出
//輸出乙個整數,表示答案
//樣例輸入
//5//1 5 4 8 20
//樣例輸出
//1#include
#include
using
namespace std;
#define max 5000
intmain()
;for
(int i =
0; i < n; i++
)sort
(a,a+n)
;for
(int j =
1; j < n; j++)}
printf
("%d"
,min)
;return0;
}
//在象棋算式裡,不同的棋子代表不同的數,有以下算式,設計乙個演算法求這些棋子各代表哪些數字。
//每個數字範圍為0-9,請求出各棋子所代表的數字
// 兵 炮 馬 卒
// +
// 兵 炮 車 卒
//--------------------------
// 車 卒 馬 兵 卒
#include
intmain()
}}}}
}return0;
}
//給定乙個整數數列,數列中連續相同的最長整數序列算成一段,問數列中共有多少段?
//輸入
////輸入的第一行包含乙個整數n,表示數列中整數的個數。
//第二行包含n個整數a1 a2 … an,表示給定的數列,相鄰的整數之間用乙個空格分隔。
////
//輸出
//輸出乙個整數,表示給定的數列有多少個段。
//樣例輸入
//8//8 8 8 0 12 12 8 0
//樣例輸出
//5#include
intmain()
temp = first;
}printf
("%d"
,sum)
;return0;
}
//題目描述
//給定n個不同的整數,問這些數中有多少對整數,它們的值正好相差1。 (n<=1000)
//輸入
//給定n個不同的整數,問這些數中有多少對整數,它們的值正好相差1。
//輸出
//輸出乙個整數,表示值正好相差1的數對的個數。
//樣例輸入
//6//10 2 6 3 7 8
//樣例輸出
//3//提示
////
//值正好相差1的數對包括(2 3) (6 7) (7 8)。
#include
#include
using
namespace std;
#define max 5000
intmain()
;for
(int i =
0; i < n; i++
)sort
(a,a+n)
;for
(int i =
1; i < n; i++)}
printf
("%d"
,sum)
;return0;
}
```c
#include//編寫乙個程式,輸出2~1000之間的完全數
//完全數即該數字除本身外的各因子之和正好等於該數本身
//例如:6=1+2+3
int main()
}if(i == sum)
}printf("\n");
return 0;
}
//題目描述
// 有n個小朋友圍成一圈玩遊戲,小朋友從1至n編號,2號小朋友坐在1號小朋友的順時針方向,3號小朋友坐在2號小朋友的順時針方向,……,1號小朋友坐在n號小朋友的順時針方向。
//遊戲開始,從1號小朋友開始順時針報數,接下來每個小朋友的報數是上乙個小朋友報的數加1。若乙個小朋友報的數為k的倍數或其末位數(即數的個位)為k,則該小朋友被淘汰出局,不再參加以後的報數。當遊戲中只剩下乙個小朋友時,該小朋友獲勝。
//例如,當n=5 k=2時:
//1號小朋友報數1;
//2號小朋友報數2淘汰;
//3號小朋友報數3;
//4號小朋友報數4淘汰;
//5號小朋友報數5;
//1號小朋友報數6淘汰;
//3號小朋友報數7;
//5號小朋友報數8淘汰;
//3號小朋友獲勝。
//給定n和k,請問最後獲勝的小朋友編號為多少?
////資料規模和約定:對於所有評測用例,1≤n≤ 1000,1≤k≤ 9。
////輸入
//輸入一行,包括兩個整數n和k,意義如題目所述
//輸出
//輸出一行,包含乙個整數,表示獲勝的小朋友編號
//樣例輸入
//5 2
//樣例輸出
//3#include
#include
using
namespace std;
intmain()
int temp =1;
int children =1;
while
(!ch.
empty()
)printf
("%d\n"
,children)
;return0;
}
了解shell及shell基本命令
一 shell是什麼?shell就是乙個應用程式,我們可以通過串列埠等給它傳送命令,回車它就會去執行這些命令。二 shell應用程式執行過程 1 接收資料並回顯 2 當接收到回車時解析輸入的字串,在path裡的目錄下尋找程式,執行程式。三 如何在path新增目錄?1 在path中臨時新增目錄 終端輸...
了解SpringMVC框架及基本工作流程
傳統原生的jsp servlet在開發上過程上雖然簡單明瞭,jsp頁面傳遞資料到servlet,servlet整理資料 邏輯開發 或者從資料庫提取資料接著再 到jsp頁面上,但是其似乎只能止步於此,我們都知道我們request和response都依賴於url,當我們想要通過針對圍繞url進行程式設計...
了解SpringMVC框架及基本工作流程
傳統原生的jsp servlet在開發上過程上雖然簡單明瞭,jsp頁面傳遞資料到servlet,servlet整理資料 邏輯開發 或者從資料庫提取資料接著再 到jsp頁面上,但是其似乎只能止步於此,我們都知道我們request和response都依賴於url,當我們想要通過針對圍繞url進行程式設計...