ኮምፒውተሮችፕሮግራም

ሁለትዮሽ ፍለጋ - ቀላሉ መንገድ አንዱ ድርድር ውስጥ አንድ አባል ማግኘት

በጣም ብዙ ጊዜ, የኢንተርኔት ፕሮግራም, እንኳን ለጀማሪዎች, አንድ የተወሰነ ቁጥር ማግኘት አለበት ይህም ቁጥሮች ስብስብ, እንዳለ እውነታ ጋር ገጥመውታል. ይህ ክምችት ድርድር ተብሎ ነው. እና በውስጡ ንጥሎችን ለማግኘት, መንገዶች አንድ ላይ ሲቀናጁ አሉ. ነገር ግን ከእነርሱ በጣም ቀላል በስተቀኝ ላይ አንድ የሁለትዮሽ ፍለጋ ሊቆጠር ይችላል. ይህ ዘዴ ነው ምንድን ነው? እንዴት ሁለትዮሽ ፍለጋ ለመተግበር? ፓስካል እንዲህ ያለ ፕሮግራም ድርጅት ለ ቀላሉ አካባቢ ነው, ስለዚህ እኛ ማጥናት ይጠቀሙበታል.

በመጀመሪያ, ለመተንተን, ይህ ዘዴ ጥቅም ምንድን ነው, በጣም እኛ መረዳት እንችላለን ነው, ርዕስ ጥናት ውስጥ ነጥብ ምንድን ነው. ስለዚህ, ዎቹ አንዳንድ ማግኘት አለብን ይህም ቢያንስ 100000000 ንጥረ ነገሮች, አንድ ስፋት ጋር አንድ ድርድር እንያዝ. እርግጥ ነው, ይህ ችግር በቀላሉ እኛ ድርድር ውስጥ ያሉት ሁሉ ጋር የሚያስፈልገውን አባል ማነጻጸር ይሆናል ዑደት በመጠቀም የትኛዎቹ ውስጥ ቀላል መስመራዊ ፍለጋ, ሊቀረፍ ይችላል. ችግሩ በዚህ ሃሳብ በማስፈጸም ብዙ ጊዜ እንደሚወስድ ነው. በርካታ የሕክምና, እና ዋና ጽሑፍ በሦስት መስመሮች ወደ አንድ ቀላል ፓስካል ፕሮግራም ውስጥ, ይህን ልብ አይደለም, ነገር ግን እኛ ቅርንጫፎች እና ጥሩ ተግባር ብዙ ቁጥር ጋር የበለጠ ወይም ያነሰ ትላልቅ ፕሮጀክቶች ሲመጡ, ፕሮግራሙ በጣም ረጅም ይጫናል ዝግጁ ይሆናል. በተለይ ኮምፒውተር ደካማ አፈጻጸም ከሆነ. ስለዚህ, ቢያንስ ሁለት ጊዜ የፍለጋ ጊዜ ይቀንሳል ይህም አንድ የሁለትዮሽ ፍለጋ, አለ.

ስለዚህ, ይህ ዘዴ አሠራር መርህ ምንድን ነው? ወዲያውኑ ሁለትዮሽ ፍለጋ ማንኛውም ድርድር ውስጥ አይደለም, ነገር ግን ብቻ ቁጥሮች አንድ የተደረደረ ስብስብ ላይ ይሰራል ማለት ይገባል. በድርድሩ እያንዳንዱ እርምጃ ይወሰዳል መካከለኛ ንጥረ ነገር ላይ (ወደ አባል ቁጥር ትርጉም). የሚያስፈልገውን ከሆነ ቁጥር ይበልጣል በአማካይ; እንግዲያስ ሁሉ ግራ ነው, ይህ አማካይ ሴል ያነሰ ነው, ተጥሏል ይችላል እና እዚያ ይመለከታል አይደለም. በተቃራኒው, አማካይ ያነሰ ከሆነ - ወደ ቀኝ እነዚህን ቁጥሮች መካከል, እናንተ መፈለግ አይችልም. ከዚያም የመጀመሪያው ንጥረ መላውን ድርድር መሃል ኤለመንት እና የመጨረሻው እና የመጨረሻው ፈቃድ ይሆናል ቦታ አዲስ የፍለጋ አካባቢ ይምረጡ. አዲስ መስክ አማካይ ቁጥር ሁሉ ያለው ክፍል, (የመጨረሻ ክፍል + መላው ድርድር መሃል ንጥረ) / 2 ከኮሎምቢያ ይሆናል. እንደገና, ተመሳሳይ ክወናው ሊከናወን ነው - በድርድሩ አማካይ ቁጥር ጋር ንጽጽር. የዒላማ እሴት አማካይ ያነሰ ከሆነ, እኛ ወደ ቀኝ በኩል ላለመቀበል, እና ደግሞ አሁን በዚህ መሃል አባል የተፈለገውን ነበር ድረስ ቀጥሎ ማድረግ.

እርግጥ ነው, ሁለትዮሽ ፍለጋ መጻፍ እንደሚቻል የሚያሳይ ምሳሌ መመልከት የተሻለ ነው. ፓስካል እዚህ ሰው የሚስማማ ይሆናል - ስሪት አስፈላጊ አይደለም. የአምላክ ቀላል ፕሮግራም ለመጻፍ እንመልከት.

ይህ ስም "massiv" ስር H ወደ 1 ድርድር ነው, "verh", አማካይ ፍለጋ ቃል ይባላል "niz" የተባለ የፍለጋ የታችኛው ወሰን የሚያመለክት ተለዋዋጭ, የላይኛው ገደብ: - "sredn"; እና ያስፈልጋል ቁጥር - "isk".

ስለዚህ, በመጀመሪያ እኛ ክልል ፍለጋ የላይኛው እና የታችኛው ገደብ መመደብ:

niz: = 1;
verh: = ሰ + 1;

ከዚያም "ታች የላይኛው ገደብ ያነሰ ነው ድረስ" ዑደት ለማደራጀት:

niz ጀመረ

በእያንዳንዱ ደረጃ ላይ, ወደ ክፍል 2 መከፋፈል:

sredn: = (niz + verh) div 2; {ቀሪ ያለ መከፋፈል ምክንያት, ተግባር div ይጠቀሙ}

ግምገማ እያንዳንዱ ጊዜ. በመካከለኛ የተፈለገውን ከሆነ ንጥል ቀድሞውኑ ተገኝተዋል ምክንያቱም, ዑደት ያቋርጠዋል:

іf sredn = isk ከዚያ መላቀቅ;

የተፈለገውን በላይ በድርድሩ መሐል አባል, በግራ በኩል ማስወገድ ከሆነ, ነው, በአማካይ የላይኛው ድንበር አባል መሰየም:

ከሆነ massiv [sredn]> isk ከዚያም verh: = sredn;

እንዲሁም በተቃራኒው ላይ ከሆነ, ይህ በታችኛው ወሰን ያደርጋል:

ሌላ niz: = sredn;
ያበቃል;

ይህ ፕሮግራም ውስጥ ይሆናል ሁሉ ነው.

እስቲ በተግባር ላይ ሁለትዮሽ ስልት ምን እንደሚመስል እስቲ እንመልከት. 1, 3, 5, 7, 10, 12, 18 እና ቁጥር 12 ይሻሉ: ይህን ድርድር እንመልከት.

ጠቅላላ ውስጥ 7 ንጥረ; ስለዚህ አራተኛው መካከለኛ, እሴት 7 ያደርጋል.

1 3 5 7 10 12 18

ከ 12, 7, 1.3 እና 5 ንጥረ ጀምሮ, እኛ መጣል እንችላለን. ከዚያም ቁጥር 4 ያለዎ, 4/2 ምንም ዝቃጭ 2. ስለዚህ, አዲስ ኤለመንት 10 በአማካይ ይሆናል ነው.

7 10 12 18

12 10 ይበልጣል ስለሆነ እኛ 7. ብቻ 10, 12 እና 18 ይቆያል መጣል.

እነሆ, ወደ መካከለኛ ኤለመንት አስቀድሞ 12 ነው, ይህም የሚያስፈልገውን ቁጥር ነው. ይህ ተግባር ከተጠናቀቀ ነው - ቁጥር 12 አልተገኘም.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 am.atomiyme.com. Theme powered by WordPress.