nefu 899这也是裸的找
Posted 邻家那小孩儿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nefu 899这也是裸的找相关的知识,希望对你有一定的参考价值。
#include <iostream> #include <algorithm> #include <cstdio> using namespace std; int main() { int n,k; while(scanf("%d%d",&n,&k)!=-1) { int r=1,l=n,mid,sum=0; while(r<=l) { sum++; mid=(r+l)/2; if(mid==k) {printf("%d\n",sum);break;} if(mid<k) r=mid+1; else l=mid-1; } } return 0; }
我们现在都知道二分查找的主体是一个while循环,在每次循环里面进行询问,从而决定是找到了数据停止循环还是改变查找区间的范围。现在就是考验大家是否理解了原理的时候了! 运用二分查找在序列{1,2,3,……,n}中找到k需要循环多少次?
Input
输入多组数据, 每组输入两个整数n和k,占一行(0<= k <= n)。
Output
对每组输入,输出在序列{1,2,3,……,n}中找到k的循环次数。
Sample Input
5 2 5 1 10 3
Sample Output
3 2 3
以上是关于nefu 899这也是裸的找的主要内容,如果未能解决你的问题,请参考以下文章