首页 > 其他分享 >打卡4

打卡4

时间:2023-04-27 21:13:33浏览次数:39  
标签:cout int mid else high low 打卡

问题描述:N个有序整数数列已放在一维数组中,利用二分查找法查找整数m在数组中的位置。若找到,则输出其下标值;反之,则输出“Not be found!”。

流程图:

 

伪代码:

N<-10

a[N]<-{10个有序整数}

k<-1

input m

whlie low<=high

mid=(low+high)/2

if m<a[mid]

high<-mid-1

else if m>a[mid]

low<-mid+1

else

k=mid

break

if k<0

output “Not be found!”

else

output k,m

代码:

#include <iostream>

#define N 10

using namespace std;

int main()

{

int a[N]={3,14,33,52,64,77,98,111,231,314};

int low=0;

int k=-1;

int high=N-1;

int m,mid,i;

cin>>m;

for(i=0;i<N;i++)

{

cout<<a[i]<<"  ";

}

cout<<endl;

while(low<=high)

{

mid=(low+high)/2;

if(m<a[mid])

{

high=mid-1;

}

else if(m>a[mid])

{

low=mid+1;

}

else

{

k=mid;

break;

}

}

if(k<0)

cout<<"Not be found!"<<endl;

else

cout<<"第"<<k+1<<"位,下标值="<<m;

return 0;

}

 

标签:cout,int,mid,else,high,low,打卡
From: https://www.cnblogs.com/chukjbgg333/p/17360204.html

相关文章

  • 每日打卡java字符串
    importcom.ith.demo1.main;importcom.ith.demo1.phone;importjava.util.ArrayList;importjava.util.Scanner;importjava.util.StringJoiner;//PressShifttwicetoopentheSearchEverywheredialogandtype`showwhitespaces`,//thenpressEnter.Youcannows......
  • c++打卡练习(18)
    猜牌术魔术师利用一副牌中的13张黑桃,预先将它们排好后迭在一起,并使牌面朝下。然后他对观众说:我不看牌,只要数数就可以猜到每张牌是什么,我大声数数,你们听,不信?你们就看,魔术师将最上面的那张牌数为1,把它翻过来正好是黑桃A,他将黑桃A放在桌子上,然后按顺序从上到下数手中的余牌,第二次......
  • 4月27日打卡
    美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧!输入格式:输入在一行中给出正方形边长N(3≤N≤21)和......
  • 2023.4.27编程一小时打卡
    一、问题描述:建立一个向量容器的实例s,不断对s调用push_back向其中增加新的元素,观察在此过程中s.capacity()的变化。二、解题思路:首先,编写一个向量容器vector<int>s,利用循环对其进行不断调用push_back,再输出它的capacity()函数观察它向量容器的容量的变化。三、代码实现:1#in......
  • 周四打卡
    题目描述:编写一个程序,实现将用户输入的字符串中的所有空格替换为下划线的功能。例如,输入字符串"Thequickbrownfoxjumpsoverthelazydog",输出结果为"The_quick_brown_fox_jumps_over_the_lazy_dog"。设计思路:接收用户输入的字符串。遍历字符串中的每个字符,如果是空格......
  • 打卡5
    #include<iostream>#include<fstream>#include<cstring>usingnamespacestd;//定义教师结构体structTeacher{intid;//工号stringname;//姓名chargender;//性别};intmain(){intN;cout<<&quo......
  • 打卡14
    3.1完数 #include<bits/stdc++.h>usingnamespacestd;intn;intf(intx){ intsum=0; for(inti=2;i<n/i;i++)//可以缩短时间复杂度 { if(x%i==0)sum+=i; } returnsum;}intmain(){ intl,r; cin>>l>>r; for(inti=l;i<=r;i++) { if(i==f(i))n++;//如果因......
  • c++打卡第十七天
    一、问题描述二、设计思路①、对于每个小孩得所得到的糖果数我们可以定义一个数组存储它们。②、需要进行循环结构,同时循环停止的条件为10个小孩得糖果数相同。③、小孩所得得糖果为奇数时需要向老师要一块后才再次分一半给后一个小朋友,这时候我们需要选择结构来实现。④、我们......
  • 打卡第十三天
    输入两个整数,求他们的平方和一、1.定义两个函数,一个用于求平方,另一个用于求和二、三、#include<iostream>usingnamespacestd;inthongyan(inta){ returna*a;}intjiandi(intx,inty){ returnhongyan(x)+hongyan(y);}intmain(){ intn,q; cin>>n>>q; cout<<""<&l......
  • 4.27打卡
    一、问题描述:求某一范围内完数的个数。如果一个数等于它的因子之和,则称该数为“完数”(或“完全数”)。例如,6的因子为1,2,3,而6=1+2+3,因此6是“完数”。二、设计思路:根据完数的定义,解决本题的关键是计算出所选取的整数i(i的取值范围不固定)的因子(因子就是所有可以整除这个数的数),将......