生活随笔
收集整理的這篇文章主要介紹了
蛮力法基本了解及练习
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
蠻力法是一種簡單,直接解決問題的方法,通常直接基于問題的描述和所涉及的概念定義。這里的“力”是指計算機的計算能力,而不是人的智力。一般來說,蠻力法是最容易應用的方法。
蠻力法是把問題的所有情況或者所有的過程交給計算機去一一嘗試,從中找出問題的解。
蠻力法優點:邏輯清晰,編寫程序簡潔。
可以用來解決廣域領域的問題。
對于重要問題,可以產生一些合理的算法。
可以解決一些小規模的問題。
可以作為其他高效算法的衡量標準。
以下是對于蠻力法的練習
#include<iostream>
#include<algorithm>
using namespace std
;
#define max 5000int main()
{int n
= 0;int temp
= 0;int min
= 1000000;scanf("%d",&n
);int a
[max
] = {0};for(int i
= 0; i
< n
; i
++){scanf("%d", &a
[i
]);} sort(a
,a
+n
);for(int j
= 1; j
< n
; j
++){if(min
> a
[j
]-a
[j
-1]){min
= a
[j
]-a
[j
-1];}}printf("%d",min
);return 0;
}
#include<stdio.h>
int main()
{int a
= 0;int b
= 0;int c
= 0;int d
= 0;int e
= 0;int m
= 0;int n
= 0;int q
= 0;for(a
= 0; a
< 9; a
++){for(b
= 0; b
< 9; b
++) {for(c
= 0; c
< 9; c
++){for(d
= 0; d
< 9; d
++){for(e
= 1; e
< 9; e
++){m
= b
*1000+d
*100+c
*10+a
;n
= b
*1000+d
*100+e
*10+a
;q
= e
*10000+a
*1000+c
*100+b
*10+a
;if(q
== m
+ n
){printf("%d %d %d %d %d",b
,d
,c
,a
,e
);}}}}} } return 0;
}
#include<stdio.h>
int main()
{int n
= 0;int first
= 0;int temp
= 0;int sum
= 0;scanf("%d",&n
);for(int i
= 0; i
< n
; i
++){scanf("%d",&first
); if(first
!= temp
){sum
++;}temp
= first
;}printf("%d",sum
);return 0;}
#include<iostream>
#include<algorithm>
using namespace std
;
#define max 5000
int main()
{int n
= 0;int sum
= 0;scanf("%d",&n
);int a
[max
] = {0};for(int i
= 0; i
< n
; i
++){scanf("%d",&a
[i
]);}sort(a
,a
+n
);for(int i
= 1; i
< n
; i
++){if(a
[i
] - a
[i
-1] == 1){sum
++;}}printf("%d",sum
);return 0;
}
```c
#include<stdio.h>
//編寫一個程序,輸出2~1000之間的完全數
//完全數即該數字除本身外的各因子之和正好等于該數本身
//例如:6=1+2+3
int main()
{int i = 0;int j = 0;for(i = 2; i <= 1000; i++){int sum = 0;for(j = 1; j <= i/2; j++){if(i % j ==0){sum += j;} }if(i == sum){printf("%d ",i);}}printf("\n");return 0;
}
#include<iostream>
#include<queue>
using namespace std
;
int main()
{ int n
= 0;int k
= 0;queue
<int> ch
;scanf("%d%d",&n
,&k
);for(int i
= 1; i
<= n
; i
++) {ch
.push(i
); } int temp
= 1;int children
= 1;while(!ch
.empty()){children
= ch
.front();ch
.pop();if(temp
% k
== 0 || temp
% 10 == k
);else ch
.push(children
);temp
++;}printf("%d\n",children
);return 0;
}
總結
以上是生活随笔為你收集整理的蛮力法基本了解及练习的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。