#include <iostream>
using namespace std;
int a[101];
int num1=0; //记录顺序查找的查找次数
int num2=0; //记录折半查找的查找次数
int n;
int k;
int Binary_Search(int *a,int start,int end,int k);
void Sequential_Search(int *a,int k) { //顺序查找 //平均时间复杂度O(n);
for(int i=1;i<=n;i++) {
if(k!=a[i])
num1++;
else {
num1++;
break;
}
}
}
int Binary_Search(int *a,int start,int end,int k) { //折半查找 //平均时间复杂度O(log2(n));
int b=start;
int c=end;
int mid=(b+c)/2;
while(b<c) {
mid=(b+c)/2;
if(k==a[mid]) {
num2++;
return 0;
}
else if(k>a[mid]) {
num2++;
b=mid+1;
}
else if(k<a[mid]) {
num2++;
c=mid-1;
}
}
return 0;
}
int main() {
for(int i=1;i<=100;i++)
a[i]=i;
cin>>n;
k=n-2;
Sequential_Search(a,k);
cout<<"num1="<<num1<<endl;
cout<<"!!!!!"<<endl;
Binary_Search(a, 1, n, k);
cout<<"num2="<<num2<<endl;
return 0;
}