「プログラミング珠玉」コードの道7:このアルゴリズムは全世界のプログラマーが16年ぶりに書いたものです.これとは思いもよらなかったです.
1636 ワード
このブログのアルゴリズムは、物語のアルゴリズムです.きっと好きになります.
このアルゴリズムがあります.
1:業界の巨人経典『プログラミング珠玉』の著者は、授業で思想を与え、時間を問わずプログラマー達に実現させ、すべてのプログラマーは提出する時、自分が正しいと思っていますが、結果は高級プログラマーでも90%以上の人が書き間違えました.
2:世界史詩級コンピュータ天才、人工知能の父、図霊賞受賞者ドナルドEvin Knuthは、伝説級の大作『コンピュータプログラム設計芸術』で、あるアルゴリズムの論文は1946年に発表されましたが、このアルゴリズムの最初の誤りのないプログラムは1962年まで現れました.
きっとこのアルゴリズムはすごいでしょう!!!
ぶるぶる震える.
ぶるぶる震える.
ぶるぶる震える.
ぶるぶる震える.
ぶるぶる震える.
ぶるぶる震える.
じゃ、関子を売らないでください.その名前は「二分検索」です.!!!!!!!!!!!
以上の話は全部本当です.
この物語をもって、すべてのプログラマを励まし、むやみに自分を卑下して自信をなくしてはいけません.全世界の16年、どれぐらいの天才ですか?
いつでも、自分を信じて、一生懸命練習して、自分を高めて、いつまでも間に合います.自分の知能が足りないと思い込んではいけません.
このアルゴリズムがあります.
1:業界の巨人経典『プログラミング珠玉』の著者は、授業で思想を与え、時間を問わずプログラマー達に実現させ、すべてのプログラマーは提出する時、自分が正しいと思っていますが、結果は高級プログラマーでも90%以上の人が書き間違えました.
2:世界史詩級コンピュータ天才、人工知能の父、図霊賞受賞者ドナルドEvin Knuthは、伝説級の大作『コンピュータプログラム設計芸術』で、あるアルゴリズムの論文は1946年に発表されましたが、このアルゴリズムの最初の誤りのないプログラムは1962年まで現れました.
きっとこのアルゴリズムはすごいでしょう!!!
ぶるぶる震える.
ぶるぶる震える.
ぶるぶる震える.
ぶるぶる震える.
ぶるぶる震える.
ぶるぶる震える.
じゃ、関子を売らないでください.その名前は「二分検索」です.!!!!!!!!!!!
以上の話は全部本当です.
この物語をもって、すべてのプログラマを励まし、むやみに自分を卑下して自信をなくしてはいけません.全世界の16年、どれぐらいの天才ですか?
いつでも、自分を信じて、一生懸命練習して、自分を高めて、いつまでも間に合います.自分の知能が足りないと思い込んではいけません.
#include
#include
#include
using namespace std;
vector nums; // vector
int target = 123; //
// -1
int BinarySearch(vector &arr, int target);
int main(){
freopen("in.txt", "r", stdin);
int num;
while (scanf("%d", &num) != EOF){
nums.push_back(num);
}
int pos = BinarySearch(nums, target);
if (pos >= 0 && pos < nums.size()){
cout << pos << ' ' << nums[pos] << endl;
}else{
cout << "error" << endl;
}
return 0;
}
int BinarySearch(vector &arr, int target){
int left = 0, right = arr.size() - 1;
while (left <= right){
int mid = (left + right) / 2;
if (arr[mid] == target){
return mid;
}else if (arr[mid] < target){
left = mid + 1;
}else if (arr[mid] > target){
right = mid - 1;
}else{
return -1;
}
}
return -1;
}