Ëã·¨Éè¼ÆÓë·ÖÎö£¨µÚ2°æ£© Íõºì÷ ºúÃ÷ ϰÌâ´ð°¸

ϰÌâ1

1.

ͼÂÛµ®ÉúÓÚÆßÇÅÎÊÌâ¡£³öÉúÓÚÈðÊ¿µÄΰ´óÊýѧ¼ÒÅ·À­£¨Leonhard Euler£¬1707¡ª1783£©Ìá³ö²¢½â¾öÁ˸ÃÎÊÌâ¡£ÆßÇÅÎÊÌâÊÇÕâÑùÃèÊöµÄ£º±±Çø Ò»¸öÈËÊÇ·ñÄÜÔÚÒ»´Î²½ÐÐÖд©Ô½¸çÄá˹±¤£¨ÏÖ

¶«Çø ÔڽмÓÀïÄþ¸ñÀÕ£¬ÔÚ²¨Â޵ĺ£Äϰ¶£©³ÇÖÐÈ«²¿µºÇø µÄÆß×ùÇÅºó»Øµ½Æðµã£¬ÇÒÿ×ùÇÅÖ»¾­¹ýÒ»´Î£¬

ÄÏÇø ͼ1.7ÊÇÕâÌõºÓÒÔ¼°ºÓÉϵÄÁ½¸öµººÍÆß×ùÇŵÄ

ͼ1.7 ÆßÇÅÎÊÌâ

²Ýͼ¡£Ç뽫¸ÃÎÊÌâµÄÊý¾ÝÄ£ÐͳéÏó³öÀ´£¬²¢ÅжϴËÎÊÌâÊÇ·ñÓн⡣

ÆßÇÅÎÊÌâÊôÓÚÒ»±Ê»­ÎÊÌâ¡£ ÊäÈ룺һ¸öÆðµã Êä³ö£ºÏàͬµÄµã 1£¬ Ò»´Î²½ÐÐ

2£¬ ¾­¹ýÆß×ùÇÅ£¬ÇÒÿ´ÎÖ»¾­Àú¹ýÒ»´Î 3£¬ »Øµ½Æðµã

¸ÃÎÊÌâÎ޽⣺ÄÜÒ»±Ê»­µÄͼÐÎÖ»ÓÐÁ½ÀࣺһÀàÊÇËùÓеĵ㶼ÊÇżµã¡£ÁíÒ»ÀàÊÇÖ»Óжþ¸öÆæµãµÄͼÐΡ£

2£®ÔÚÅ·¼¸ÀïµÂÌá³öµÄÅ·¼¸ÀïµÂËã·¨ÖУ¨¼´×î³õµÄÅ·¼¸ÀïµÂËã·¨£©ÓõIJ»Êdzý·¨¶øÊǼõ·¨¡£ÇëÓÃα´úÂëÃèÊöÕâ¸ö°æ±¾µÄÅ·¼¸ÀïµÂËã·¨ 1.r=m-n

2.Ñ­»·Ö±µ½r=0 2.1 m=n 2.2 n=r 2.3 r=m-n 3 Êä³öm

3£®Éè¼ÆËã·¨ÇóÊý×éÖÐÏà²î×îСµÄÁ½¸öÔªËØ£¨³ÆÎª×î½Ó½üÊý£©µÄ²î¡£ÒªÇó·Ö±ð¸ø³öα´úÂëºÍC++ÃèÊö¡£

//²ÉÓ÷ÖÖη¨

//¶ÔÊý×éÏȽøÐпìËÙÅÅÐò //ÔÚÒÀ´Î±È½ÏÏàÁڵIJî #include using namespace std;

int partions(int b[],int low,int high) {

int prvotkey=b[low]; b[0]=b[low]; while (low

while (low=prvotkey) --high;

b[low]=b[high];

while (low

b[high]=b[low]; }

b[low]=b[0]; return low; }

void qsort(int l[],int low,int high) {

int prvotloc; if(low

prvotloc=partions(l,low,high); //½«µÚÒ»´ÎÅÅÐòµÄ½á¹û×÷ΪÊàÖá qsort(l,low,prvotloc-1); //µÝ¹éµ÷ÓÃÅÅÐò ÓÉlow µ½prvotloc-1 qsort(l,prvotloc+1,high); //µÝ¹éµ÷ÓÃÅÅÐò ÓÉ prvotloc+1µ½ high } }

void quicksort(int l[],int n) {

qsort(l,1,n); //µÚÒ»¸ö×÷ΪÊàÖá £¬´ÓµÚÒ»¸öÅŵ½µÚn¸ö }

int main() {

int a[11]={0,2,32,43,23,45,36,57,14,27,39}; int value=0;//½«×îС²îµÄÖµ¸³Öµ¸øvalue for (int b=1;b<11;b++) cout<

quicksort(a,11);

for(int i=0;i!=9;++i)

{

if( (a[i+1]-a[i])<=(a[i+2]-a[i+1]) ) value=a[i+1]-a[i]; else

value=a[i+2]-a[i+1]; }

cout<

return 0; }

4£® ÉèÊý×éa[n]ÖеÄÔªËØ¾ù²»ÏàµÈ£¬Éè¼ÆËã·¨ÕÒ³öa[n]ÖÐÒ»¸ö¼È²»ÊÇ×î´óÒ²²»ÊÇ×îСµÄÔªËØ£¬²¢ËµÃ÷×Çé¿öϵıȽϴÎÊý¡£ÒªÇó·Ö±ð¸ø³öα´úÂëºÍC++ÃèÊö¡£

#include using namespace std;

int main() { int a[]={1,2,3,6,4,9,0};

int mid_value=0;//½«¡°¼È²»ÊÇ×î´óÒ²²»ÊÇ×îСµÄÔªËØ¡±µÄÖµ¸³Öµ¸øËü for(int i=0;i!=4;++i) { if(a[i+1]>a[i]&&a[i+1]a[i+2]) { mid_value=a[i+1]; cout<

5. ±àд³ÌÐò£¬ÇónÖÁÉÙΪ¶à´óʱ£¬n¸ö¡°1¡±×é³ÉµÄÕûÊýÄܱ»2013Õû³ý¡£

#include using namespace std;

int main() {

double value=0;

for(int n=1;n<=10000 ;++n) { value=value*10+1; if(value 13==0) { cout<<\ÖÁÉÙΪ:\ break; } }//for

return 0; }

6. ¼ÆËã¦ÐÖµµÄÎÊÌâÄܾ«È·Çó½âÂ𣿱àд³ÌÐò£¬Çó½âÂú×ã¸ø¶¨¾«¶ÈÒªÇóµÄ¦ÐÖµ

#include using namespace std;

int main () {

double a,b;

double arctan(double x);//ÉùÃ÷ a = 16.0*arctan(1/5.0); b = 4.0*arctan(1/239);

cout << \

return 0£» }

double arctan(double x) {

int i=0;

double r=0,e,f,sqr;//¶¨ÒåËĸö±äÁ¿³õ sqr = x*x; e = x;

while (e/i>1e-15)//¶¨Ò徫¶È·¶Î§ {

f = e/i;//fÊÇÿ´ÎrÐèÒªµþ¼ÓµÄ·½³Ì

r = (i%4==1)?r+f:r-f;

e = e*sqr;//eÿ´Î³ËÓÚxµÄƽ·½ i+=2;//iÿ´Î¼Ó2 }//while return r; }

7. Ê¥¾­ÉÏ˵£ºÉñ6Ìì´´ÔìÌìµØÍòÓУ¬µÚ7ÈÕ°²Ðª¡£ÎªÊ²Ã´ÊÇ6ÌìÄØ£¿ÈκÎÒ»¸ö×ÔÈ»ÊýµÄÒòÊýÖж¼ÓÐ1ºÍËü±¾Éí£¬ËùÓÐСÓÚËü±¾ÉíµÄÒòÊý³ÆÎªÕâ¸öÊýµÄÕæÒòÊý£¬Èç¹ûÒ»¸ö×ÔÈ»ÊýµÄÕæÒòÊýÖ®ºÍµÈÓÚËü±¾Éí£¬Õâ¸ö×ÔÈ»Êý³ÆÎªÍêÃÀÊý¡£ÀýÈ磬6=1+2+3£¬Òò´Ë6ÊÇÍêÃÀÊý¡£Éñ6Ìì´´ÔìÊÀ½ç£¬°µÊ¾×Ÿô´ÔìÊÇÍêÃÀµÄ¡£Éè¼ÆËã·¨£¬Åжϸø¶¨µÄ×ÔÈ»ÊýÊÇ·ñÊÇÍêÃÀÊý

#include using namespace std;

int main() {

int value, k=1; cin>>value;

for (int i = 2;i!=value;++i) {

while (value % i == 0 ) {

k+=i;//kΪ¸Ã×ÔÈ»ÊýËùÓÐÒò×ÓÖ®ºÍ value = value/ i; }

}//for

if(k==value)

cout<<\¸Ã×ÔÈ»ÊýÊÇÍêÃÀÊý\ else

cout<<\¸Ã×ÔÈ»Êý²»ÊÇÍêÃÀÊý\ return 0; }

8. ÓÐ4¸öÈË´òËã¹ýÇÅ£¬Õâ¸öÇÅÿ´Î×î¶àÖ»ÄÜÓÐÁ½¸öÈËͬʱͨ¹ý¡£ËûÃǶ¼ÔÚÇŵÄijһ¶Ë£¬²¢ÇÒÊÇÔÚÍíÉÏ£¬¹ýÇÅÐèÒªÒ»Ö»ÊÖµçͲ£¬¶øËûÃÇÖ»ÓÐÒ»Ö»ÊÖµçͲ¡£Õâ¾ÍÒâζ×ÅÁ½¸öÈ˹ýÇźó±ØÐëÓÐÒ»¸öÈ˽«ÊÖµçͲ´ø»ØÀ´¡£Ã¿¸öÈË×ß·µÄËÙ¶ÈÊDz»Í¬µÄ£º¼×¹ýÇÅÒªÓÃ1·ÖÖÓ£¬ÒÒ¹ýÇÅÒªÓÃ2·ÖÖÓ£¬±û¹ýÇÅÒªÓÃ5·ÖÖÓ£¬¶¡¹ýÇÅÒªÓÃ10·ÖÖÓ£¬ÏÔÈ»£¬Á½¸öÈË×ß·µÄËٶȵÈÓÚÆäÖнÏÂýÄǸöÈ˵ÄËÙ¶È£¬ÎÊÌâÊÇËûÃÇÈ«²¿¹ýÇÅ×îÉÙÒªÓö೤ʱ¼ä£¿

ÓÉÓÚ¼×¹ýÇÅʱ¼ä×î¶Ì£¬ÄÇôÿ´Î´«µÝÊÖµçµÄ¹¤×÷Ó¦Óм×Íê³É ¼×ÿ´Î·Ö±ð´ø×ÅÒÒ±û¶¡¹ýÇÅ ÀýÈ磺

µÚÒ»ÌË£º¼×£¬ÒÒ¹ýÇÅÇÒ¼×»ØÀ´ µÚ¶þÌË£º¼×£¬±û¹ýÇÅÇÒ¼×»ØÀ´ µÚÒ»ÌË£º¼×£¬¶¡¹ýÇÅ Ò»¹²ÓÃʱ19Сʱ

9£®Å·¼¸ÀïµÂÓÎÏ·£º¿ªÊ¼µÄʱºò£¬°×°åÉÏÓÐÁ½¸ö²»ÏàµÈµÄÕýÕûÊý£¬Á½¸öÍæ¼Ò½»ÌæÐж¯£¬Ã¿´ÎÐж¯Ê±£¬µ±Ç°Íæ¼Ò¶¼±ØÐëÔÚ°×°åÉÏд³öÈÎÒâÁ½¸öÒѾ­³öÏÖÔÚ°åÉϵÄÊý×ֵIJ¶øÇÒÕâ¸öÊý×Ö±ØÐëÊÇеģ¬Ò²¾ÍÊÇ˵£¬ºÍ°×°åÉϵÄÈκÎÒ»¸öÒÑÓеÄÊý×Ö¶¼²»Ïàͬ£¬µ±Ò»·½ÔÙҲд²»³öÐÂÊý×Öʱ£¬Ëû¾ÍÊäÁË¡£ÇëÎÊ£¬ÄãÊÇÑ¡ÔñÏÈÐж¯»¹ÊǺóÐж¯£¿ÎªÊ²Ã´£¿

Éè×î³õÁ½¸öÊý½Ï´óµÄΪa, ½ÏСµÄΪb£¬Á½¸öÊýµÄ×î´ó¹«Ô¼ÊýΪfactor¡£

Ôò×îÖÕÄܳöÏÖµÄÊý°üÀ¨: factor, factor*2, factor*3, ..., factor*(a/factor)=a. Ò»¹²a/factor¸ö¡£

Èç¹ûa/factor ÊÇÆæÊý£¬¾ÍÑ¡ÔñÏÈÐж¯£»·ñÔò¾ÍºóÐж¯¡£

ϰÌâ2

1£®Èç¹ûT1(n)=O(f (n))£¬T2(n)=O(g(n))£¬½â´ðÏÂÁÐÎÊÌ⣺ £¨1£©Ö¤Ã÷¼Ó·¨¶¨Àí£ºT1(n)£«T2(n)=max{O(f (n)), O(g(n))}£» £¨2£©Ö¤Ã÷³Ë·¨¶¨Àí£ºT1(n)¡ÁT2(n)=O(f (n))¡ÁO(g(n))£» £¨3£©¾ÙÀý˵Ã÷ÔÚʲôÇé¿öÏÂÓ¦Óüӷ¨¶¨ÀíºÍ³Ë·¨¶¨Àí¡£

,£¨1£© £¨2£©

£¨3£©±ÈÈçÔÚ for£¨f(n)£© {

for(g(n)) }

ÖÐÓ¦¸ÃÓó˷¨¶¨Àí

Èç¹ûÔÚ¡°½²Á½¸öÊý×éºÏ²¢³ÉÒ»¸öÊý×éʱ¡±£¬Ó¦µ±Óüӷ¨¶¨Àí

2£®¿¼ÂÇÏÂÃæµÄËã·¨£¬»Ø´ðÏÂÁÐÎÊÌ⣺Ëã·¨Íê³Éʲô¹¦ÄÜ£¿Ëã·¨µÄ»ù±¾Óï¾äÊÇʲô£¿»ù±¾Óï¾äÖ´ÐÐÁ˶àÉٴΣ¿Ëã·¨µÄʱ¼ä¸´ÔÓÐÔÊǶàÉÙ£¿

£¨2£©int Q(int n) £¨1£©int Stery(int n)

{ {

if (n == 1) int S = 0;

for (int i = 1; i <= n; i++) return 1;

S = S + i * i; else return S; return Q(n-1) + 2 * n - 1;

} }

£¨1£© Íê³ÉµÄÊÇ1-nµÄƽ·½ºÍ

»ù±¾Óï¾ä£ºs+=i*i£¬Ö´ÐÐÁËn´Î

ʱ¼ä¸´ÔÓ¶ÈO£¨n£©

£¨2£© £¨2£©Íê³ÉµÄÊÇnµÄƽ·½

»ù±¾Óï¾ä£ºreturn Q(n-1) + 2 * n ¨C 1£¬Ö´ÐÐÁËn´Î ʱ¼ä¸´ÔÓ¶ÈO£¨n£©

3. ·ÖÎöÒÔϳÌÐò¶ÎÖлù±¾Óï¾äµÄÖ´ÐдÎÊýÊǶàÉÙ£¬ÒªÇóÁгö¼ÆË㹫ʽ¡£ £¨1£©for (i = 1; i <= n; i++) £¨2£©m = 0; if (2*i <= n) for (i = 1; i <= n; i++) for (j = 2*i; j <= n; j++) for (j = 1; j <= 2*i; j++) m=m+1; y = y + i * j£»

£¨1£© »ù±¾Óï¾ä2*i

»ù±¾Óï¾äy = y + i * jÖ´ÐÐÁË2/n´Î Ò»¹²Ö´ÐдÎÊý=n/2+n/2=O£¨n£©

£¨2£© »ù±¾Óï¾äm+=1Ö´ÐÐÁË(n/2)*n=O(n*n) 4. ʹÓÃÀ©Õ¹µÝ¹é¼¼ÊõÇó½âÏÂÁеÝÍÆ¹ØÏµÊ½£º

1n?1?4n?1 £¨2£©£¨1£©T(n)?? T(n)???2T(n3)?nn?1??3T(n?1)n?1

(1) int T(int n) { if(n==1) return 4;

else if(n>1) return 3*T(n-1); } (2)

int T(int n) {

if(n==1) return 1;

else if(n>1) return 2*T(n/3)+n; }

5. ÇóÏÂÁÐÎÊÌâµÄƽ·²Ï½磬²¢Ö¸³öÆäϽçÊÇ·ñ½ôÃÜ¡£ £¨1£©ÇóÊý×éÖеÄ×î´óÔªËØ£»

£¨2£©ÅжÏÁÚ½Ó¾ØÕó±íʾµÄÎÞÏòͼÊDz»ÊÇÍêȫͼ£» £¨3£©È·¶¨Êý×éÖеÄÔªËØÊÇ·ñ¶¼ÊÇΩһµÄ£»

£¨4£©Éú³ÉÒ»¸ö¾ßÓÐn¸öÔªËØ¼¯ºÏµÄËùÓÐ×Ó¼¯

(1) ¦¸(n) ½ôÃÜ£¿ (2) ¦¸(n*n) (3) ¦¸(logn+n)£¨ÏȽøÐпìÅÅ£¬È»ºó½øÐбȽϲéÕÒ£© (4) ¦¸(2^n)

7£®»­³öÔÚÈý¸öÊýa, b, cÖÐÇóÖÐÖµÎÊÌâµÄÅж¨Ê÷¡£

a

a

b

8£®¹ú¼ÊÏóÆåÊǺܾÃÒÔǰÓÉÒ»¸öÓ¡¶ÈÈËShashi·¢Ã÷µÄ£¬µ±Ëû°Ñ¸Ã·¢Ã÷Ï׸ø¹úÍõʱ£¬¹úÍõºÜ¸ßÐË£¬¾ÍÐíŵ¿ÉÒÔ¸øÕâ¸ö·¢Ã÷ÈËÈκÎËûÏëÒªµÄ½±ÉÍ¡£ShashiÒªÇóÒÔÕâÖÖ·½Ê½¸øËûһЩÁ¸Ê³£ºÆåÅ̵ĵÚ1¸ö·½¸ñÄÚÖ»·Å1Á£ÂóÁ££¬µÚ2¸ñ2Á££¬µÚ3¸ñ4Á££¬µÚ4¸ñ8Á££¬??£¬ÒÔ´ËÀàÍÆ£¬Ö±µ½64¸ö·½¸ñÈ«²¿·ÅÂú¡£Õâ¸ö½±É͵Ä×îÖÕ½á¹û»áÊÇʲôÑùÄØ£¿

#include using namespace std;

int main() {

long double result=1; double j=1;

for(int i=1;i<=64;++i) { j=j*2; result+=j; j++; }

cout<

return 0; }

ϰÌâ3

1£® ¼ÙÉèÔÚÎı¾\ÖвéÕÒģʽ\£¬Ð´³ö·Ö±ð²ÉÓÃBFËã·¨ºÍKMP

Ëã·¨µÄ´®Æ¥Åä¹ý

//BFËã·¨

#include using namespace std;

int BF(char S[], char T[]) {

int index = 0; int i = 0, j = 0; while ((S[i] != '\\0') && (T[j] != '\\0')) {

if (S[i] == T[j]) { i++; j++; } else { ++index; i = index; j = 0; } }

if (T[j] == '\\0') return index + 1; else return 0; }

int main() { char s1[19]=\

char s2[7]=\

cout<< BF( s1, s2) <

//KMPËã·¨

#include using namespace std;

void GetNext(char T[ ], int next[ ]) //ÇóģʽTµÄnextÖµ {

int i, j, len; next[0] = -1;

for (j = 1; T[j]!='\\0'; j++) //ÒÀ´ÎÇónext[j] {

for (len = j - 1; len >= 1; len--) //ÏàµÈ×Ó´®µÄ×î´ó³¤¶ÈΪj-1 { for (i = 0; i < len; i++) //ÒÀ´Î±È½ÏT[0]~T[len-1]ÓëT[j-len]~T[j-1] if (T[i] != T[j-len+i]) break; if (i == len) { next[j] = len; break; } }//for if (len < 1)

next[j] = 0; //ÆäËûÇé¿ö£¬ÎÞÏàµÈ×Ó´® }//for }

int KMP(char S[ ], char T[ ]) //ÇóTÔÚSÖеÄÐòºÅ {

int i = 0, j = 0;

int next[80]; //¼Ù¶¨Ä£Ê½×Ϊ80¸ö×Ö·û GetNext(T, next);

while (S[i] != '\\0' && T[j] != '\\0') {

if (S[i] == T[j]) {

i++; j++; }

else { j = next[j]; if (j == -1) {i++; j++;}

} }

if (T[j] == '\\0') return (i - strlen(T) +1); //·µ»Ø±¾ÌËÆ¥ÅäµÄ¿ªÊ¼Î»Öà else return 0; }

int main() { char s1[]=\ char s2[]=\

cout<

return 0; }

2.·Öʽ»¯¼ò¡£Éè¼ÆËã·¨£¬½«Ò»¸ö¸ø¶¨µÄÕæ·ÖÊý»¯¼òΪ×î¼ò·ÖÊýÐÎʽ¡£ÀýÈ磬½«6/8»¯¼òΪ3/4¡£

#include using namespace std;

int main() {

int n;//·Ö×Ó int m;//·Öĸ

int factor;//×î´ó¹«Òò×Ó int factor1;

cout<<\ÊäÈëÒ»¸öÕæ·ÖÊýµÄ·Ö×ÓÓë·Öĸ£º \ cin>>n>>m;

int r = m % n;//ÒòΪÊÇÕæ·ÖÊý ËùÒÔ·Öĸһ¶¨´óÓÚ·Ö×Ó factor1=m; factor=n; while (r != 0) {

factor1 =factor; factor = r;

r = factor1% factor; }

cout<<\Êä³ö¸ÃÕæ·ÖÊýµÄ×î¼ò·ÖÊý£º \return 0; }

3. Éè¼ÆËã·¨£¬ÅжÏÒ»¸ö´óÕûÊýÄÜ·ñ±»11Õû³ý¡£¿ÉÒÔͨ¹ýÒÔÏ·½·¨£º½«¸ÃÊýµÄÊ®½øÖƱíʾ

´ÓÓÒ¶Ë¿ªÊ¼£¬Ã¿Á½Î»Ò»×é¹¹³ÉÒ»¸öÕûÊý£¬È»ºó½«ÕâЩÊýÏà¼Ó£¬ÅÐ¶ÏÆäºÍÄÜ·ñ±»11Õû³ý¡£ÀýÈ磬½«562843748·Ö¸î³É5,62,84,37,48£¬È»ºóÅжÏ(5+62+84+37+48)ÄÜ·ñ±»11Õû³ý //½«Ò»¸ö´óÕûÊý¿´³ÉÒ»¸öÊý×é

//Êý×éµÄÆæÊýλ¶ÔÓ¦ÊýµÄ10±¶¼ÓÉÏÊý×éżÊý¶ÔÓ¦ÊýµÄ±¾Éí //ÑéÖ¤½á¹ûÄÜ·ñ±»11Õû³ý

#include using namespace std;

int main() { int a[9]={5,6,2,8,4,3,7,4,8}; int result=0; //resultΪÌâĿҪÇóµÄ¸÷λ֮ºÍ for(int i=0;i!=9;++i) { if(i%2==0) result+=a[i]; //i ΪżÊýλʱ£¬½á¹û¼ÓÉÏÆä¶ÔÓ¦Êý×éÊýµÄ±¾Éí else result+=a[i]*10; //i ÎªÆæÊýλʱ£¬½á¹û¼ÓÉ϶ÔÓ¦Êý×éÊýµÄ10±¶ } if(result==0) cout<<\¸ÃÕûÊýÄܱ»11Õû³ý\ else

cout<<\¸ÃÕûÊý²»Äܱ»11Õû³ý\ return 0; }

4. Êý×ÖÓÎÏ·¡£°ÑÊý×Ö 1,2,?,9Õâ9¸öÊý×ÖÌîÈëÒÔϺ¬Óмӡ¢¼õ¡¢³Ë¡¢³ýµÄËÄÔòÔËËãʽÖУ¬Ê¹µÃ¸ÃµÈʽ³ÉÁ¢¡£ÒªÇó9¸öÊý×Ö¾ù³öÏÖÒ»´ÎÇÒ½ö³öÏÖÒ»´Î£¬ÇÒÊý×Ö1²»ÄܳöÏÖÔڳ˺ͳýµÄһλÊýÖУ¨¼´ÅųýÔËËãʽÖÐһλÊýΪ1µÄƽ·²ÇéÐΣ©¡£

??¡Á?£«???¡Â?£­?? = 0

5. Éè¼ÆËã·¨Çó½âan mod m£¬ÆäÖÐa¡¢nºÍm¾ùΪ´óÓÚ1µÄÕûÊý¡££¨Ìáʾ£ºÎªÁ˱ÜÃâan

³¬³öintÐ͵ıíʾ·¶Î§£¬Ó¦¸Ãÿ×öÒ»´Î³Ë·¨Ö®ºó¶Ônȡ죩

#include using namespace std;

int square(int x) {

return x*x; }

//Óõݹé˼Ïë

int resultmod(int a, int n) {

if(n== 0) return 1; if(n%2 == 0) return square(resultmod(a, n/2));//nΪżÊýµÄʱ£¬È¡nµÄÒ»°ë·ÀÖ¹Òç³ö else return a*resultmod(a, n-1);//nÎªÆæÊýʱ£¬È¡n-1£» }

int main() {

int a, n, m;

cout<<\ÇëÊäÈëa£¬n, m: \ cin>>a>>n>>m; cout<

int result = resultmod(a, n);

cout<<\µÄ½á¹ûΪ£º\ return 0; }

6. Éè¼ÆËã·¨£¬ÔÚÊý×ér[n]ÖÐɾ³ýËùÓÐÔªËØÖµÎªxµÄÔªËØ£¬ÒªÇóʱ¼ä¸´ÔÓÐÔΪO(n)£¬¿Õ¼ä¸´ÔÓÐÔΪO(1)¡£

7. Éè¼ÆËã·¨£¬ÔÚÊý×ér[n]ÖÐɾ³ýÖØ¸´µÄÔªËØ£¬ÒªÇóÒÆ¶¯ÔªËصĴÎÊý½ÏÉÙ²¢Ê¹Ê£ÓàÔªËØ¼äµÄÏà¶Ô´ÎÐò±£³Ö²»±ä¡£ #include using namespace std;

void deletere(int a[],int N) { int b[100]={0}; int i,k; k=0; static int j=0; for(i=0;i

int main() { int a[]={1,2,1,3,2,4}; deletere(a,6); return 0; }

//ÔÚÊý×é²éÕÒÏàͬµÄÔªËØ

//°ÑÆäÖÐÒ»¸öÏàͬµÄÊýÖµµÄÔªËØÎ»ÖÃÉè³ÉÒ»¸ö¡°ÌØÊâÊýÖµ¡± //Êä³öËùÇóº¯Êý

#include

using namespace std;

int main() {

int a[]={1,2,1,5,3,2,9,4,5,5,3,5}; int i,j;

for( i=0;i<12;i++) {

for(j=0;j

a[i]=64787250;//ÉèÒ»¸öÊý×é²»´æÔÚµÄÊýÖµ } }//for

for(i=0;i<12;i++) { if(a[i]!=64787250) cout<

8. Éè±íA={a1, a2, ?, an}£¬½«A²ð³ÉBºÍCÁ½¸ö±í£¬Ê¹AÖÐÖµ´óÓÚµÈÓÚ0µÄÔªËØ´æÈë±íB£¬ÖµÐ¡ÓÚ0µÄÔªËØ´æÈë±íC£¬ÒªÇó±íBºÍC²»ÁíÍâÉèÖô洢¿Õ¼ä¶øÀûÓñíAµÄ¿Õ¼ä¡£

//ÏȶÔA½øÐпìÅÅ

//½«´óÓÚ0µÄÔªËØ¸øB£¬Ð¡ÓÚ0µÄÔªËØ¸øC

#include using namespace std;

int partions(int l[],int low,int high) {

int prvotkey=l[low]; l[0]=l[low];

while (low

while (low=prvotkey) --high;

l[low]=l[high];

while (low

l[high]=l[low]; }

l[low]=l[0]; return low; }

void qsort(int l[],int low,int high) {

int prvotloc; if(low

prvotloc=partions(l,low,high); //½«µÚÒ»´ÎÅÅÐòµÄ½á¹û×÷ΪÊàÖá qsort(l,low,prvotloc-1); //µÝ¹éµ÷ÓÃÅÅÐò ÓÉlow µ½prvotloc-1 qsort(l,prvotloc+1,high); //µÝ¹éµ÷ÓÃÅÅÐò ÓÉ prvotloc+1µ½ high } }

void quicksort(int l[],int n) {

qsort(l,1,n); //µÚÒ»¸ö×÷ΪÊàÖá £¬´ÓµÚÒ»¸öÅŵ½µÚn¸ö }

int main() { int a[11]={-2,2,32,43,-23,45,36,-57,14,27,-39};

quicksort(a,11);

for(int i=1;i<11;i++) { if(a[i]<0)

cout<<\ else cout<<\ }

cout<

return 0;

}

9. ºÉÀ¼¹úÆìÎÊÌâ¡£ÒªÇóÖØÐÂÅÅÁÐÒ»¸öÓÉ×Ö·ûR, W, B£¨R´ú±íºìÉ«£¬W´ú±í°×É«£¬B´ú±íÀ¼É«£¬Õâ¶¼ÊǺÉÀ¼¹úÆìµÄÑÕÉ«£©¹¹³ÉµÄÊý×飬ʹµÃËùÓеÄR¶¼ÅÅÔÚ×îÇ°Ãæ£¬WÅÅÔÚÆä´Î£¬BÅÅÔÚ×îºó¡£ÎªºÉÀ¼¹úÆìÎÊÌâÉè¼ÆÒ»¸öËã·¨£¬Æäʱ¼äÐÔÄÜÊÇO(n)¡£

//0´ú±íºì£»1´ú±í°×£»2´ú±íÀ¶ #include using namespace std;

const int N = 20;

void swap_ab ( int *p , int *q ) {

int tmp = *p; *p = *q; *q = tmp; }

void process ( int a[], int n ) {

int *p, *q; p = q = a;

while ( p != a+n-1 ) //pÏòǰ±éÀú£¬Ö±µ½±ãÀûÍê±Ï {

if ( *(p+1) < *p ) {

q = p+1;

while ( *q < *(q-1) ) {

swap_ab ( q, q-1 ); --q; //qÖ¸ÕëºóÒÆ } } //if ++p; } //while }

int main()

{

int a[N] = { 0, 2, 1, 2, 0, 1, 0, 2, 2, 1, 0, 1, 2, 1, 1, 0, 0, 1, 1, 2}; //´ý´¦ÀíµÄÊý×é

cout << \´¦ÀíºóµÄÊý×éÐòÁÐ: \ process ( a, N );

for (int i=0; i< N; ++i ) cout << a[i] <<\

cout << endl; return 0; }

10. Éè×î½ü¶ÔÎÊÌâÒÔkά¿Õ¼äµÄÐÎʽ³öÏÖ£¬kά¿Õ¼äµÄÁ½¸öµãp1=(x1, x2, ?, xk)ºÍp2=(y1, y2, ?, yk)µÄÅ·¼¸ÀïµÂ¾àÀ붨ÒåΪ£ºd(p1,p2)??(y-x)iii?1k2¡£¶Ôkά¿Õ¼äµÄ×î½ü¶ÔÎÊÌâÉè¼Æ

ÂùÁ¦Ëã·¨£¬²¢·ÖÎöÆäʱ¼äÐÔÄÜ¡£

11£®Éè¼ÆÂùÁ¦Ëã·¨Çó½âС¹æÄ£µÄÏßÐԹ滮ÎÊÌâ¡£¼ÙÉèÔ¼ÊøÌõ¼þΪ£º£¨1£©x+y¡Ü4£»£¨2£©x+3y¡Ü6£»£¨3£©x¡Ý0ÇÒy¡Ý0£»Ê¹Ä¿±êº¯Êý3x+5yÈ¡µÃ¼«´óÖµ¡£

#include using namespace std;

int main() {

int x,y,x0,y0;

int summax=0,temp=0; for(x0=0;x0<=4;++x0) {

for(y0=0;(x0+y0<=4)&&(x0+3*y0<=6);++y0)

temp=3*x0+5*y0; if(temp>=summax) { summax=temp; x=x0;//·ûºÏsum×î´óÖµµÄx y=y0;//·ûºÏsum×î´óÖµµÃy }

}//for

cout<<\

return 0; }

12£®Éè¼ÆËã·¨£¬Åж¨Ò»¸öÒÔÁÚ½Ó¾ØÕó±íʾµÄÁ¬Í¨Í¼ÊÇ·ñ¾ßÓÐÅ·À­»ØÂ·¡£

Ëã·¨ÃèÊö£º

ÊäÈ룺ÁÚ½Ó¾ØÕó(n*n)

Êä³ö£ºÈçÓÐÖ¤Ã÷ÓÐÅ·À­»ØÂ·£¬ÔòÊä³ö¸Ã»ØÂ·£¬·ñÔò£¬Êä³öÎÞ½âÐÅÏ¢ 1 ¶Ô¾ØÕóµÄ¶Ô½ÇÏßÊÇ·ñÓÐ>0µÄÔªËØ½øÐÐÅÐ¶Ï 1.1 Ñ­»·±äÁ¿i´Ó1¡ªnÖØ¸´½øÐÐÏÂÊö²Ù×÷£º

1.1.1¼ÆËã¾ØÕói´Î·½£¬Èç¹û¾ØÕó¶Ô½ÇÏßÉÏÓÐ>0µÄÔªËØ£¬ÔòÌø×ªµ½1.2 1.1.2·ñÔò++i;

1.2 Èç¹û¾ØÕó¶Ô½ÇÏßÓÐ>0µÄÔªËØ£¬ÔòÊä³ö¸Ã»ØÂ· 2 Êä³öÎÞ½âÐÅÏ¢£»

13£®ÕÒ´ÊÓÎÏ·¡£ÒªÇóÓÎÏ·Õß´ÓÒ»ÕÅÌîÂú×Ö·ûµÄÕý·½ÐαíÖУ¬ÕÒ³ö°üº¬ÔÚÒ»¸ö¸ø¶¨¼¯ºÏÖеÄËùÓе¥´Ê¡£ÕâЩ´ÊÔÚÕý·½ÐαíÖпÉÒÔºá×ŶÁ¡¢Êú×ŶÁ¡¢»òÕßб×ŶÁ¡£ÎªÕâ¸öÓÎÏ·Éè¼ÆÒ»¸öÂùÁ¦Ëã·¨

14. ±äλ´Ê¡£¸ø¶¨Á½¸öµ¥´Ê£¬ÅжÏÕâÁ½¸öµ¥´ÊÊÇ·ñÊDZäλ´Ê¡£Èç¹ûÁ½¸öµ¥´ÊµÄ×ÖĸÍêÈ«Ïàͬ£¬Ö»ÊÇλÖÃÓÐËù²»Í¬£¬ÔòÕâÁ½¸öµ¥´Ê³ÆÎª±äλ´Ê¡£ÀýÈ磬eatºÍteaÊDZäλ´Ê¡£

//ÅжÏqwerºÍrewqÊÇ·ñÊDZäλ´Ê #include #include using namespace std;

int main() {

char s[5]=\ char t[5]=\ for(int i=0;i!=4;++i) { if(s[i]!=t[3-i]) { cout<<\ºÍrewq²»ÊDZäλ´Ê\ return 0; break; } }

cout<<\ºÍrewqÊDZäλ´Ê\

return 0; }

15£®ÔÚÃÀ¹úÓÐÒ»¸öÁ¬Ëøµê½Ð7-11µê£¬ÒòΪÕâ¸öÉ̵êÒÔǰÊÇÔ糿7µã¿ªÃÅ£¬ÍíÉÏ11µã¹ØÃÅ¡£ÓÐÒ»Ì죬һ¸ö¹Ë¿ÍÔÚÕâ¸öµêÌôÑ¡ÁËËÄÑù¶«Î÷£¬È»ºóµ½¸¶¿î´¦È¥½»Ç®¡£ÓªÒµÔ±ÄÃÆð¼ÆËãÆ÷£¬°´ÁËһЩ¼ü£¬È»ºó˵£º¡°×ܹ²ÊÇ$7.11¡£¡±Õâ¸ö¹Ë¿Í¿ªÁ˸öÍæÐ¦Ëµ£º¡°Å¶£¿ÄѵÀÒòΪÄãÃǵĵêÃû½Ð7-11£¬ËùÒÔÎÒ¾ÍÒª¸¶$7.11Â𣿡±ÓªÒµÔ±Ã»ÓÐÌý³öÕâÊǸöÍæÐ¦£¬»Ø´ð˵£º¡°µ±È»²»ÊÇ£¬ÎÒÒѾ­°ÑÕâËÄÑù¶«Î÷µÄ¼Û¸ñÏà³Ë²ÅµÃ³öÕâ¸ö½á¹ûµÄ£¡¡±¹Ë¿ÍÒ»Ìý·Ç³£³Ô¾ª£¬¡°ÄãÔõô°ÑËûÃÇÏà³ËÄØ£¿ÄãÓ¦¸Ã°ÑËûÃÇÏà¼Ó²Å¶Ô£¡¡±ÓªÒµÔ±´ðµÀ£º¡°àÞ£¬¶Ô²»Æð£¬ÎÒ½ñÌì·Ç³£Í·ÌÛ£¬ËùÒ԰Ѽü°´´íÁË¡£¡±È»ºó£¬ÓªÒµÔ±½«½á¹ûÖØËãÁËÒ»±é£¬½«ÕâËÄÑù¶«Î÷µÄ¼Û¸ñ¼ÓÔÚÒ»Æð£¬È»¶ø£¬ÁîËûÁ©¸üΪ³Ô¾ªµÄÊÇ×ܺÍÒ²ÊÇ$7.11¡£Éè¼ÆÂùÁ¦Ëã·¨ÕÒ³öÕâËÄÑù¶«Î÷µÄ¼Û¸ñ¸÷ÊǶàÉÙ£¿

¸ÃË㷨Ϊ£º

int $7.11(float a[],float b[],float c[],float d[],int n) {

for(int i=0;i!=n;++i) for(int j=0;j!=n;++j) for(int k=0;k!=n;++k)

for(int m=0;m!=n;++m) {

if((a[i]+b[j]+c[k]+d[m])==7.11 && a [i]*b[j]*c[k]*d[m]==7.11) cout<

ϰÌâ4

1. ·ÖÖ稵Äʱ¼äÐÔÄÜÓëÖ±½Ó¼ÆËã×îСÎÊÌâµÄʱ¼ä¡¢ºÏ²¢×ÓÎÊÌâ½âµÄʱ¼äÒÔ¼°×ÓÎÊÌâµÄ¸öÊýÓйأ¬ÊÔ˵Ã÷Õ⼸¸ö²ÎÊýÓë·ÖÖη¨Ê±¼ä¸´ÔÓÐÔÖ®¼äµÄ¹ØÏµ¡£

2. Ö¤Ã÷£ºÈç¹û·ÖÖη¨µÄºÏ²¢¿ÉÒÔÔÚÏßÐÔʱ¼äÄÚÍê³É£¬Ôòµ±×ÓÎÊÌâµÄ¹æÄ£Ö®ºÍСÓÚÔ­ÎÊÌâµÄ¹æÄ£Ê±£¬Ëã·¨µÄʱ¼ä¸´ÔÓÐÔ¿É´ïµ½O(n)¡£

O(N)=2*O(N/2)+x

O(N)+x=2*O(N/2)+2*x

a*O(N)+x=a*(2*O(N/2)+x)+x=2*a *O(N/2)+(a+1)*x ÓÉ´Ë¿ÉÖª£¬Ê±¼ä¸´ÔӶȿɴﵽO(n);

3.·ÖÖβßÂÔÒ»¶¨µ¼ÖµݹéÂð£¿Èç¹ûÊÇ£¬Çë½âÊÍÔ­Òò¡£Èç¹û²»ÊÇ£¬¸ø³öÒ»¸ö²»°üº¬µÝ¹éµÄ·ÖÖÎÀý×Ó£¬²¢²ûÊöÕâÖÖ·ÖÖκͰüº¬µÝ¹éµÄ·ÖÖεÄÖ÷Òª²»Í¬¡£

²»Ò»¶¨µ¼Öµݹ顣

Èç·ÇµÝ¹éµÄ¶þ²æÊ÷ÖÐÐò±éÀú¡£

ÕâÖÖ·ÖÖη½·¨ÓëµÝ¹éµÄ¶þ²æÊ÷ÖÐÐò±éÀúÖ÷񻂿±ðÊÇ£ºÓ¦ÓÃÁËÕ»Õâ¸öÊý¾Ý½á¹¹¡£

4. ¶ÔÓÚ´ýÅÅÐòÐòÁÐ(5, 3, 1, 9)£¬·Ö±ð»­³ö¹é²¢ÅÅÐòºÍ¿ìËÙÅÅÐòµÄµÝ¹éÔËÐй켣¡£

¹é²¢ÅÅÐò£º

µÚÒ»ÌË£º£¨5,3£©£¨1,9£©£» µÚ¶þÌË£º£¨3,5,1,9£©£» µÚÈýÌË£º£¨1,3,5,9£©£»

¿ìËÙÅÅÐò£º

µÚÒ»ÌË£º5£¨ ,3,1,9£©£»//5ΪÉÚ±ø£¬±È½Ï9ºÍ5 µÚ¶þÌË£º5£¨1,3, ,9£©£»//±È½Ï1ºÍ5£¬½«1Ųµ½ÏàӦλÖã» µÚÈýÌË£º5£¨1,3, ,9£©;//±È½Ï3ºÍ5£» µÚËÄÌË£º£¨1,3,5,9£©;

5. Éè¼Æ·ÖÖÎËã·¨ÇóÒ»¸öÊý×éÖеÄ×î´óÔªËØ£¬²¢·ÖÎöʱ¼äÐÔÄÜ¡£

//¼òµ¥µÄ·ÖÖÎÎÊÌâ

//½«Êý×é¾ùºâµÄ·ÖΪ¡°Ç°¡±£¬¡°ºó¡±Á½²¿·Ö

//·Ö±ðÇó³öÕâÁ½²¿·Ö×î´óÖµ£¬È»ºóÔٱȽÏÕâÁ½¸ö×î´óÖµ

#include using namespace std;

extern const int n=6;//ÉùÃ÷ int main() { int a[n]={0,6,1,2,3,5};//³õʼ»¯ int mid=n; int num_max1=0,num_max2=0; for(int i=0;i<=n;++i)//ǰ°ë²¿·Ö { if(a[i]>num_max1) num_max1=a[i];

} for(int j=n+1;jnum_max2) num_max2=a[j]; } if(num_max1>=num_max2) cout<<\Êý×éÖеÄ×î´óÔªËØ£º \ else

cout<<\Êý×éÖеÄ×î´óÔªËØ£º \ return 0; }

ʱ¼ä¸´ÔÓ¶È£ºO£¨n£©

6. Éè¼Æ·ÖÖÎËã·¨£¬ÊµÏÖ½«Êý×éA[n]ÖÐËùÓÐÔªËØÑ­»·×óÒÆk¸öλÖÃ, ÒªÇóʱ¼ä¸´ÔÓÐÔΪO(n)£¬¿Õ¼ä¸´ÔÓÐÔΪO(1)¡£ÀýÈ磬¶ÔabcdefghÑ­»·×óÒÆ3λµÃµ½defghabc¡£

//²ÉÓ÷ÖÖη¨

//½«Êý×é·ÖΪ0-k-1ºÍk-n-1Á½¿é //½«ÕâÁ½¿é·Ö±ð×óÒÆ //È»ºóÔٺϲ¢×óÒÆ

#include using namespace std;

void LeftReverse(char *a, int begin, int end) {

for(int i=0;i<(end-begin+1)/2;i++)//½»»»Òƶ¯ {

int temp=a[begin+i]; a[begin+i]=a[end-i]; a[end-i]=temp; } }

void Converse(char *a,int n,int k) {

LeftReverse(a, 0, k+1); LeftReverse(a, k, n+1);

LeftReverse(a, 0, n-1); for(int i=0;i

int main() {

char a[7]={'a','b','c','d','e','f','g'}; Converse(a,7,3);

return 0; }

7. Éè¼ÆµÝ¹éËã·¨Éú³Én¸öÔªËØµÄËùÓÐÅÅÁжÔÏó¡£

#include using namespace std;

int data[100];

//ÔÚm¸öÊýÖÐÊä³ön¸öÅÅÁÐÊý£¨n<=m£© void DPpl(int num,int m,int n,int depth) {

if(depth==n) {

for(int i=0;i

for(int j=0;j

if((num&(1<

DPpl(num+(1<

int main() {

DPpl(0,5,1,0);

DPpl(0,5,2,0); DPpl(0,5,3,0); DPpl(0,5,4,0); DPpl(0,5,5,0);

return 0; }

8. Éè¼Æ·ÖÖÎËã·¨Çó½âһά¿Õ¼äÉÏn¸öµãµÄ×î½ü¶ÔÎÊÌâ¡£

²Î¼û4.4.1×î½ü¶ÔÎÊÌâµÄËã·¨·ÖÎö¼°Ë㷨ʵÏÖ

9. ÔÚÓÐÐòÐòÁÐ(r1, r2, ?, rn)ÖУ¬´æÔÚÐòºÅi£¨1¡Üi¡Ün£©£¬Ê¹µÃri=i¡£ÇëÉè¼ÆÒ»¸ö·ÖÖÎËã·¨ÕÒµ½Õâ¸öÔªËØ£¬ÒªÇóËã·¨ÔÚ×Çé¿öϵÄʱ¼äÐÔÄÜΪO(log2n)¡£

//ÔÚÓÐÐòÊý×éÖÐ

//²ÉÓöþ·Ö·¨²éÕÒ·ûºÏÌõ¼þµÄÔªËØ

#include using namespace std;

void Findnum(int *a,int n) {

int low=0; int high=n-1;

while(low<=high) {

int mid=(low+high)/2; if(a[mid]==mid) { cout<<\Õâ¸öÊýÊÇ£º \ break; } else if(a[mid]>mid) high=mid-1; else low=mid+1; } }

int main() { int a[7]={1,0,2,5,6,7,9}; Findnum(a,7); return 0; }

ʱ¼ä¸´ÔÓ¶ÈΪO(log2n)¡£

10. ÔÚÒ»¸öÐòÁÐÖгöÏÖ´ÎÊý×î¶àµÄÔªËØ³ÆÎªÖÚÊý¡£ÇëÉè¼ÆË㷨ѰÕÒÖÚÊý²¢·ÖÎöËã·¨µÄʱ¼ä¸´ÔÓÐÔ¡£

//ÏȶÔÐòÁнøÐпìËÙÅÅÐò //ÔÙ½øÐÐÒ»´Î±éÀú //Êä³öÖÚÊýµÄÖØ¸´´ÎÊý

#include using namespace std;

int partions(int b[],int low,int high) {

int prvotkey=b[low]; b[0]=b[low]; while (low

while (low=prvotkey) --high;

b[low]=b[high];

while (low

b[high]=b[low]; }

b[low]=b[0]; return low; }

void qsort(int l[],int low,int high)

{

int prvotloc; if(low

{

prvotloc=partions(l,low,high); //½«µÚÒ»´ÎÅÅÐòµÄ½á¹û×÷ΪÊàÖá qsort(l,low,prvotloc-1); //µÝ¹éµ÷ÓÃÅÅÐò ÓÉlow µ½prvotloc-1 qsort(l,prvotloc+1,high); //µÝ¹éµ÷ÓÃÅÅÐò ÓÉ prvotloc+1µ½ high

} }

void quicksort(int l[],int n) {

qsort(l,1,n); //µÚÒ»¸ö×÷ΪÊàÖá £¬´ÓµÚÒ»¸öÅŵ½µÚn¸ö }

int main() {

int a[10]={1,2,3,5,3,3,3,2,5,1}; int i=0;

int count=0;

int max=0;//max±íʾ³öÏֵĴÎÊý

qsort(a,0,10); while(i<10) { int j; j=i+1; if(a[i]=a[j]&&i<10) { count++; i++; } if(count>max) { max=count; count=0; } }//while

cout<<\ÖØ¸´´ÎÊý£º\

return 0;

}

ʱ¼ä¸´ÔÓ¶Ènlog(n)

11. ÉèMÊÇÒ»¸ön¡ÁnµÄÕûÊý¾ØÕ󣬯äÖÐÿһÐУ¨´Ó×óµ½ÓÒ£©ºÍÿһÁУ¨´ÓÉϵ½Ï£©µÄÔªËØ¶¼°´ÉýÐòÅÅÁС£Éè¼Æ·ÖÖÎË㷨ȷ¶¨Ò»¸ö¸ø¶¨µÄÕûÊýxÊÇ·ñÔÚMÖУ¬²¢·ÖÎöËã·¨µÄʱ¼ä¸´ÔÓÐÔ¡£

12. ÉèSÊÇn£¨nΪżÊý£©¸ö²»µÈµÄÕýÕûÊýµÄ¼¯ºÏ£¬ÒªÇ󽫼¯ºÏS»®·ÖΪ×Ó¼¯S1ºÍS2£¬Ê¹µÃ| S1|=| S2|=n/2£¬ÇÒÁ½¸ö×Ó¼¯ÔªËØÖ®ºÍµÄ²î´ïµ½×î´ó¡£

//ÏÈÓÿìËÙÅÅÐò½øÐÐÒ»ÌËÅÅÐò

//Èç¹ûs1£¨´óµÄÊý¼¯£©µÄµÄ¸öÊý´óÓÚn/2 //½«£¨i<=n/2-low-1£©¸ö×îСµÄÊýÅŵ½ºóÃæ //Èç¹ûs1£¨´óµÄÊý¼¯£©µÄµÄ¸öÊýСÓÚn/2 //½«s2£¨Ð¡µÄÊý¼¯£©n/2-low-1Åŵ½Ç°Ãæ //½«ÅźõÄÊý×éµÄǰn/2¸öÊý¸³Öµ¸øs1 //½«ÅźõÄÊý×éµÄºón/2¸öÊý¸³Öµ¸øs2

#include using namespace std; const int n=8;

void partions(int a[],int low,int high) { //½øÐÐÒ»ÌË¿ìÅÅ int prvotkey=a[low]; a[0]=a[low]; while (low

while (low

a[low]=a[high];

while (low=prvotkey) ++low;

a[high]=a[low]; }

a[low]=prvotkey;

//Èç¹ûs1£¨´óµÄÊý¼¯£©µÄµÄ¸öÊý´óÓÚn/2 if(low>=n/2) {

for(int i=0;i<=n/2-low-1;++i) {

for(int j=0;j

{ if(a[j]

//Èç¹ûs1£¨´óµÄÊý¼¯£©µÄµÄ¸öÊýСÓÚn/2 else

for(int i=0;i<=n/2-low-1;++i) {

for(int k=n-1;ka[k-1]) { int temp1=a[k]; a[k]=a[k-1]; a[k-1]=temp1; } }//for } }

int main() { int a[n]={1,3,5,9,6,0,-11,-8}; partions(a,0,n-1); for(int i=0;i

if(i<4) {

cout<<\ÊôÓÚ×Ó¼¯s1µÄ£º\ cout<

cout<<\ÊôÓÚ×Ó¼¯s2µÄ£º\ cout<

} } return 0; }

13. Éèa1, a2,?, anÊǼ¯ºÏ{1, 2, ?, n}µÄÒ»¸öÅÅÁУ¬Èç¹ûiaj£¬ÔòÐòż(ai, aj)³ÆÎª¸ÃÅÅÁеÄÒ»¸öÄæÐò¡£ÀýÈ磬2, 3, 1ÓÐÁ½¸öÄæÐò£º(3, 1)ºÍ(2, 1)¡£Éè¼ÆË㷨ͳ¼Æ¸ø¶¨ÅÅÁÐÖк¬ÓÐÄæÐòµÄ¸öÊý¡£

//Óù鲢½øÐÐÅÅÐò

//µ±Ò»¸ö×Ó¼¯µÄÒ»¸öÊý´óÓÚµÚ¶þ¸ö×Ó¼¯µÄÒ»¸öÊý£¬ÎªÄæÐò£¬¼´a[i]>a[j] //ÔòÄæÐòÊýΪend-j+1;

#include using namespace std;

int count;

void Merge(int a[],int a1[],int begin,int mid,int end)//ºÏ²¢×ÓÐòÁÐ {

int i=begin,j=mid+1,k=end; while(i<=mid&&j<=end) {

if(a[i]<=a[j]) a1[k++]=a[i++];//È¡a[i]ºÍa[j]ÖнÏСÕß·ÅÈër1[k] else { a1[k++]=a[j++]; count+=(end-j+1); } }

while(i<=mid) a1[k++]=a[i++]; while(j<=end) a1[k++]=a[j++]; }

void MergeSort(int a[ ], int begin, int end) {

int mid,a1[1000]; if(begin==end) return ; else

{ mid=(begin+end)/2; MergeSort(a,begin,mid); MergeSort(a,mid+1,end); Merge(a,a1,begin,mid,end); } }

int main() { int a[6]={6,5,4,3,2,1}; count=0; MergeSort(a,0,6); cout<

14. Ñ­»·ÈüÈճ̰²ÅÅÎÊÌâ¡£ÉèÓÐn=2k¸öÑ¡ÊÖÒª½øÐÐÍøÇòÑ­»·Èü£¬ÒªÇóÉè¼ÆÒ»¸öÂú×ãÒÔÏÂÒªÇóµÄ±ÈÈüÈÕ³Ì±í£º

£¨1£©Ã¿¸öÑ¡ÊÖ±ØÐëÓëÆäËûn-1¸öÑ¡ÊÖ¸÷ÈüÒ»´Î£» £¨2£©Ã¿¸öÑ¡ÊÖÒ»ÌìÖ»ÄÜÈüÒ»´Î¡£

²ÉÓ÷ÖÖη½·¨¡£

½«2^kÑ¡ÊÖ·ÖΪ2^k-1Á½×飬²ÉÓõݹ鷽·¨£¬¼ÌÐø½øÐзÖ×飬ֱµ½Ö»Ê£ÏÂ2¸öÑ¡ÊÖʱ£¬È»ºó½øÐбÈÈü£¬»ØËݾͿÉÒÔÖ¸¶¨±ÈÈüÈճ̱íÁË

15. ¸ñÀ×ÂëÊÇÒ»¸ö³¤¶ÈΪ2nµÄÐòÁУ¬ÐòÁÐÖÐÎÞÏàÍ¬ÔªËØ£¬ÇÒÿ¸öÔªËØ¶¼Êdz¤¶ÈΪnµÄ¶þ½øÖÆÎ»´®£¬ÏàÁÚÔªËØÇ¡ºÃÖ»ÓÐ1λ²»Í¬¡£ÀýÈ糤¶ÈΪ23µÄ¸ñÀ×ÂëΪ(000, 001, 011, 010, 110, 111, 101, 100)¡£Éè¼Æ·ÖÖÎËã·¨¶ÔÈÎÒâµÄnÖµ¹¹ÔìÏàÓ¦µÄ¸ñÀ×Âë¡£

//¹¹Ôì¸ñÀ×Âë

#include using namespace std;

int n;

char a[100]; void gelei(int k) {

if(k==n) {

cout<

}

gelei(k+1);

a[k]='0'?'1':'0'; //È¡·´

gelei(k+1); }

int main() {

while(cin>>n && n != 0) { memset(a,'0',sizeof(a)); //³õʼ»¯£¬È«²¿ÖÃÁã

a[n] ='\\0'; gelei(0); cout<

return 0; }

16. ¾ØÕó³Ë·¨¡£Á½¸ön¡ÁnµÄ¾ØÕóXºÍYµÄ³Ë»ýµÃµ½ÁíÍâÒ»¸ön¡ÁnµÄ¾ØÕóZ£¬ÇÒZij Âú×ã £¨1¡Üi, j¡Ün£©£¬Õâ¸ö¹«Ê½¸ø³öÁËÔËÐÐʱ¼äΪO(n3)µÄËã·¨¡£¿ÉÒÔÓÃ·Ö Ö稽â¾ö¾ØÕó³Ë·¨ÎÊÌ⣬½«¾ØÕóXºÍY¶¼»®·Ö³ÉËĸön/2¡Án/2µÄ×ӿ飬´Ó¶øXºÍYµÄ³Ë»ý¿ÉÒÔÓÃÕâЩ×Ó¿é½øÐбí´ï£¬¼´

´Ó¶øµÃµ½·ÖÖÎËã·¨£ºÏÈµÝ¹éµØ¼ÆËã8¸ö¹æÄ£Îªn/2µÄ¾ØÕó³Ë»ýAE¡¢BG¡¢AF¡¢BH¡¢CE¡¢DG¡¢CF¡¢DH£¬È»ºóÔÙ»¨·ÑO(n2)µÄʱ¼äÍê³É¼Ó·¨ÔËËã¼´¿É¡£ÇëÉè¼Æ·ÖÖÎË㷨ʵÏÖ¾ØÕó³Ë·¨£¬²¢·ÖÎöʱ¼äÐÔÄÜ¡£ÄÜ·ñÔٸĽøÕâ¸ö·ÖÖÎËã·¨£¿

ϰÌâ5

1. ÏÂÃæÕâ¸öÕÛ°ë²éÕÒËã·¨ÕýÈ·Âð£¿Èç¹ûÕýÈ·£¬Çë¸ø³öËã·¨µÄÕýÈ·ÐÔÖ¤Ã÷£¬Èç¹û²»ÕýÈ·£¬Çë

˵Ã÷²úÉú´íÎóµÄÔ­Òò¡£

int BinSearch(int r[ ], int n, int k) {

int low = 0, high = n - 1; int mid;

while (low <= high)

{

mid = (low + high) / 2; if (k < r[mid]) high = mid;

else if (k > r[mid]) low = mid;

else return mid; }

return 0;

}

´íÎó¡£ ÕýÈ·Ëã·¨£º

int BinSearch1(int r[ ], int n, int k) {

int low = 0, high = n - 1; int mid;

while (low <= high) {

mid = (low + high) / 2; if (k < r[mid]) high = mid - 1;

else if (k > r[mid]) low = mid + 1;

else return mid; }

return 0; }

2. Çëд³öÕÛ°ë²éÕҵĵݹéËã·¨£¬²¢·ÖÎöʱ¼äÐÔÄÜ¡£

//ÕÛ°ë²éÕҵĵݹéʵÏÖ

#include using namespace std;

int digui_search(int a[],int low,int high,int x) {

if (low > high) return 0;

int mid = (low+high)/2; if (a[mid] == x) return mid;

else if (a[mid] < x)

digui_search(a,low,mid-1,x); else

digui_search(a,mid+1,high,x); }

int main() { int a[6]={0,1,2,9,5,3}; int result=digui_search(a,0,5,5);

cout<

3. ÐÞ¸ÄÕÛ°ë²éÕÒË㷨ʹ֮Äܹ»½øÐз¶Î§²éÕÒ¡£Ëùν·¶Î§²éÕÒÊÇÒªÕÒ³öÔÚ¸ø¶¨ÖµaºÍbÖ®¼ä

µÄËùÓÐÔªËØ£¨a¡Üb£©

Ð޸ĵڶþÌâËã·¨²¢ÊµÏÖ£º

//ÕÛ°ë²éÕÒË㷨ʹ֮Äܹ»½øÐз¶Î§²éÕÒ

#include using namespace std;

//ÕÛ°ë½øÐз¶Î§²éÕÒº¯Êý£º

void digui_search(int min, int max, int a[], int low, int high) {

int mid;

mid=(low+high)/2; if(a[mid]

digui_search(min, max, a, mid, high); else if(a[mid]>max)

digui_search(min, max, a, low, mid); else {

for(int i=mid; a[i]>=min && i>=low; i--) cout<

for(int j=mid+1; a[j]<=max && j<=high; j++) cout<

void main() {

int r[6], min, max;

cout<<\ÇëÊäÈëÊý×éÔªËØ£º\ for(int i=0; i<6; i++) cin>>r[i];

cout<<\ÇëÊäÈë²éÕÒ·¶Î§×îСֵminºÍ×î´óÖµmax£º\

cin>>min>>max;

digui_search(min, max, r, 0, 5); cout<

4. ÇóÁ½¸öÕýÕûÊýmºÍnµÄ×îС¹«±¶Êý¡££¨Ìáʾ£ºmºÍnµÄ×îС¹«±¶Êýlcm(m, n)ÓëmºÍnµÄ×î´ó¹«Ô¼Êýgcd(m, n)Ö®¼äÓÐÈçϹØÏµ£ºlcm(m, n)=m¡Án/gcd(m, n)£©

//ÇóÁ½¸öÊýµÄ×îС¹«±¶Êý

#include using namespace std;

int main (void) {

int a,b; int i=1;

cin>>a>>b;

while((i%a!=0)||(i%b!=0)) ++i;

cout<<\×îС¹«±¶ÊýΪ£º\

return 0; }

(¸ÃËã·¨±È½ÏÖ±½Ó£¬ÒªÊ¹Æä¸Ä½ø£¬¿ÉÓÃÅ·¼¸ÀïµÃËã·¨ÇóµÃÁ½¸öÊýµÄ×î´ó¹«Ô¼Êý£¬È»ºóÌ×ÓÃÉÏÃæµÄ¹«Ê½ÔÙÇó×îС¹«±¶Êý)

5. ²åÈë·¨µ÷Õû¶Ñ¡£ÒÑÖª£¨k1, k2, ?, kn£©ÊǶѣ¬Éè¼ÆËã·¨½«£¨k1, k2, ?, kn, kn+1£©µ÷ÕûΪ¶Ñ£¨¼ÙÉèµ÷ÕûΪ´ó¸ù¶Ñ£©¡£

²ÎÕÕ£º

void SiftHeap(int r[ ], int k, int n) {

int i, j, temp;

i = k; j = 2 * i + 1; //ÖÃiΪҪɸµÄ½áµã£¬jΪiµÄ×óº¢×Ó while (j < n) //ɸѡ»¹Ã»ÓнøÐе½Ò¶×Ó {

}

if (j < n-1 && r[j] < r[j+1]) j++; //±È½ÏiµÄ×óÓÒº¢×Ó£¬jΪ½Ï´óÕß

if (r[i] > r[j]) //¸ù½áµãÒѾ­´óÓÚ×óÓÒº¢×ÓÖеĽϴóÕß break; else {

temp = r[i]; r[i] = r[j]; r[j] = temp; //½«±»É¸½áµãÓë½áµãj½»»»

i = j; j = 2 * i + 1; //±»É¸½áµãλÓÚÔ­À´½áµãjµÄλÖà }

}

½øÐе÷¶Ñ£¡

6. Éè¼ÆË㷨ʵÏÖÔÚ´ó¸ù¶ÑÖÐɾ³ýÒ»¸öÔªËØ£¬ÒªÇóËã·¨µÄʱ¼ä¸´ÔÓÐÔΪO(log2n)¡£

//½«ÒªÉ¾³ýµÄa[k]Óë×îºóÒ»¸öÔªËØa[n-1]½»»» //È»ºó½øÐе÷¶Ñ

void de_SiftHeap(int r[ ], int k, int n) {

int i, j, temp,temp1; i = k; j = 2 * i + 1; if(i<0||i>n-1) return error; else if(i==n-1) free(a[i]);

else //ÖÃiΪҪɸµÄ½áµã£¬jΪiµÄ×óº¢×Ó

while (j < n) //ɸѡ»¹Ã»ÓнøÐе½Ò¶×Ó {

temp1=a[i]; //½«a[n-1]Óëa[k]½»»»£» a[i]=a[n-1]; a[n-1]= temp1;

if (j < n-1 && r[j] < r[j+1]) j++; //±È½ÏiµÄ×óÓÒº¢×Ó£¬jΪ½Ï´óÕß if (r[i] > r[j]) //¸ù½áµãÒѾ­´óÓÚ×óÓÒº¢×ÓÖеĽϴóÕß break; else { temp = r[i]; r[i] = r[j]; r[j] = temp; //½«±»É¸½áµãÓë½áµãj½»»» i = j; j = 2 * i + 1; //±»É¸½áµãλÓÚÔ­À´½áµãjµÄλÖà } } }

7. ¼ÆËãÁ½¸öÕýÕûÊýnºÍmµÄ³Ë»ýÓÐÒ»¸öºÜÓÐÃûµÄËã·¨

n m ³ÆÎª¶íʽ³Ë·¨£¬Æä˼ÏëÊÇÀûÓÃÁËÒ»¸ö¹æÄ£ÊÇnµÄ½âºÍÒ»¸ö50 65 25 130 130 ¹æÄ£ÊÇn/2µÄ½âÖ®¼äµÄ¹ØÏµ£ºn¡Ám£½n/2¡Á2m£¨µ±nÊÇż

12 260 Êý£©»ò£ºn¡Ám£½(n-1)/2¡Á2m£«m£¨µ±nÊÇÆæÊý£©£¬²¢ÒÔ16 520 3 1040 1040 1 2080 + 2080 3250 ͼ5.15 ¶íʽ³Ë·¨

¡Ám£½m×÷ΪËã·¨½áÊøµÄÌõ¼þ¡£ÀýÈ磬ͼ5.15¸ø³öÁËÀûÓöíʽ³Ë·¨¼ÆËã50¡Á65µÄÀý×Ó¡£¾Ý˵ʮ¾ÅÊÀ¼ÍµÄ¶í¹úÅ©·òʹÓøÃËã·¨²¢Òò´ËµÃÃû£¬Õâ¸öË㷨ҲʹµÃ³Ë·¨µÄÓ²¼þʵÏÖËٶȷdz£¿ì£¬ÒòΪֻʹÓÃÒÆÎ»¾Í¿ÉÒÔÍê³É¶þ½øÖÆÊýµÄÕÛ°ëºÍ¼Ó±¶¡£ÇëÉè¼ÆË㷨ʵÏÖ¶íʽ³Ë·¨¡£

//¶íʽ³Ë·¨

#include using namespace std;

int fun(int m,int n) {

int sum=0; int temp=n; while(m!=1) {

if(m%2==0)//Èç¹ûnÊÇżÊý {

n=n*2;

m=m/2; }

else//Èç¹ûnÊÇÆæÊý {

n=n*2;

sum+=temp; m=(m-1)/2; }

temp=n;//¼Ç¼µ¹ÊýµÚ¶þ¸önµÄÖµ }

return sum+n; }

int main() {

int a,b;

while(cin>>a>>b) {

cout<

8. ÄÃ×ÓÓÎÏ·¡£¿¼ÂÇÏÂÃæÕâ¸öÓÎÏ·£º×À×ÓÉÏÓÐÒ»¶Ñ»ð²ñ£¬ÓÎÏ·¿ªÊ¼Ê±¹²ÓÐn¸ù»ð²ñ£¬Á½¸öÍæ¼ÒÂÖÁ÷ÄÃ×ß1£¬2£¬3»ò4¸ù»ð²ñ£¬ÄÃ×ß×îºóÒ»¸ù»ð²ñµÄÍæ¼ÒΪ»ñʤ·½¡£ÇëΪÏÈ×ßµÄÍæ¼ÒÉè¼ÆÒ»¸öÖÆÊ¤µÄ²ßÂÔ£¨Èç¹û¸Ã²ßÂÔ´æÔÚ£©¡£

Èç¹û×ÀÉÏÓÐСÓÚ4¸ùµÄ»ð²ñ£¬ÏÈÊÖ±ØÊ¤£¬Èç¹ûÊÇ5¸ù£¬ÏÈÊÖ±ØÊ䣻ÒÀ´ÎÀàÍÆ£¬Í¬Àí15¡¢20¡¢25¡­¡­.¶¼ÊDZØÊä״̬£»ËùÓÐÿ´Î°Ñ¶ÔÊֱƵ½15¡¢20¡¢25¡­¡­.µÈ±ØÊä״̬£¬¾Í¿ÉÒÔ»ñʤ¡£

9. ¾ºÈüÊ÷ÊÇÒ»¿ÃÍêÈ«¶þ²æÊ÷£¬Ëü·´Ó³ÁËһϵÁС°ÌÔÌ­Èü¡±µÄ½á¹û£ºÒ¶×Ó´ú±í²Î¼Ó±ÈÈüµÄn¸öÑ¡ÊÖ£¬Ã¿¸öÄÚ²¿½áµã´ú±íÓɸýáµãµÄº¢×Ó½áµãËù´ú±íµÄÑ¡ÊÖÖеÄʤÕߣ¬ÏÔÈ»£¬Ê÷µÄ¸ù½áµã¾Í´ú±íÁËÌÔÌ­ÈüµÄ¹Ú¾ü¡£Çë»Ø´ðÏÂÁÐÎÊÌ⣺

£¨1£©ÕâһϵÁеÄÌÔÌ­ÈüÖбÈÈüµÄ×ܳ¡ÊýÊǶàÉÙ£¿

£¨2£©Éè¼ÆÒ»¸ö¸ßЧµÄËã·¨£¬ËüÄܹ»ÀûÓñÈÈüÖвúÉúµÄÐÅϢȷ¶¨ÑǾü¡£

£¨1£©ÒòΪnÈ˽øÐÐÌÔÌ­Èü£¬ÒªÌÔÌ­n-1ÈË£¬ËùÓÐÒª½øÐÐn-1³¡±ÈÈü¡£ £¨2£©

10. ÔÚ120öÍâ¹ÛÏàͬµÄÓ²±ÒÖУ¬ÓÐһöÊǼٱң¬²¢ÇÒÒÑÖª¼Ù±ÒÓëÕæ±ÒµÄÖØÁ¿²»Í¬£¬µ«²»ÖªµÀ¼Ù±ÒÓëÕæ±ÒÏà±È½ÏÇỹÊǽÏÖØ¡£¿ÉÒÔͨ¹ýÒ»¼ÜÌìÆ½À´ÈÎÒâ±È½ÏÁ½×éÓ²±Ò£¬×Çé¿öÏ£¬Äܲ»ÄÜÖ»±È½Ï5´Î¾Í¼ì²â³öÕâö¼Ù±Ò£¿

½«120öƽ¾ù·ÖΪÈý×飬¼ÇΪ£ºA£¬B£¬C£»ÏȽ«A,B±È½Ï£¬Èç¹ûA,BÖØÁ¿²»Í¬£¨¼ÙÈçB±ÈAÖØ£©£¬ÔÙ½«BÓëC±È½Ï£¬Èç¹ûB£¬CÏàͬ£¬ÔòAÓмٱң»Èç¹ûB,C²»Í¬£¬ÔÙ½«A,C±È½Ï£¬Èç¹ûA,CÏàͬ£¬ÔòBÓмٱң»Èç¹ûA,C²»Í¬£¬ÔòBÓмٱң»Èç¹ûA,BÏàͬ£¬ÔòCÓмٱң»

ϰÌâ6

1. ¶¯Ì¬¹æ»®·¨ÎªÊ²Ã´¶¼ÐèÒªÌî±í£¿ÈçºÎÉè¼Æ±í¸ñµÄ½á¹¹£¿

ÔÚÌîд±í¸ñ¹ý³ÌÖУ¬²»½ö¿ÉÒÔʹÎÊÌâ¸ü¼ÓÇåÎú£¬¸üÖØÒªµÄÊÇ¿ÉÒÔÈ·¶¨ÎÊÌâµÄ´æ´¢½á¹¹£» Éè¼Æ±í¸ñ£¬ÒÔ×Ôµ×ÏòÉϵķ½Ê½¼ÆËã¸÷¸ö×ÓÎÊÌâµÄ½â²¢Ìî±í¡£

2. ¶ÔÓÚͼ6.26Ëùʾ¶à¶Îͼ£¬Óö¯Ì¬¹æ»®·¨Çó´Ó¶¥µã0µ½¶¥µã12µÄ×î¶Ì·¾¶£¬Ð´³öÇó½â¹ý³Ì¡£ 1 6 3 8 1 7 3 3 3 5 6 5 10 4 4 5 5 8 2 0 12 3 5 3 8 3 11 3 7 9 8 2 6 6 6 4 ͼ6.26 µÚ2Ìâͼ

½«¸Ã¶à¶Îͼ·ÖΪËĶΣ»

Ê×ÏÈÇó½â³õʼ×ÓÎÊÌ⣬¿ÉÖ±½Ó»ñµÃ£º d(0, 1)=c01£½5(0¡ú1) d(0, 2)=c02£½3(0¡ú1)

ÔÙÇó½âÏÂÒ»¸ö½×¶ÎµÄ×ÓÎÊÌ⣬ÓУº d(0,3)= d(0, 1)+ c13 =6(1¡ú3)

d(0,4)=min{d(0,1)+ c14 ,d(0,2)+ c24}=8(1¡ú4) ¡£¡£¡£¡£¡£¡£¡£¡££¨ÒÔ´ËÀàÍÆ£©

×î¶Ì·¾¶Îª£º0¡ú1¡ú3¡ú8¡ú11¡ú12 3£®Óö¯Ì¬¹æ»®·¨ÇóÈçÏÂ0/1±³°üÎÊÌâµÄ×îÓŽ⣺ÓÐ5¸öÎïÆ·£¬ÆäÖØÁ¿·Ö±ðΪ(3, 2, 1, 4,5)£¬¼ÛÖµ·Ö±ðΪ(25, 20, 15, 40, 50)£¬±³°üÈÝÁ¿Îª6¡£Ð´³öÇó½â¹ý³Ì¡£

(x1, x2,x3,x4,x5) ¡ú(1,1,1,0,0)(¹ý³ÌÂÔ)

4. Óö¯Ì¬¹æ»®·¨ÇóÁ½¸ö×Ö·û´®A=\xzyzzyx\ºÍB=\zxyyzxz\µÄ×¹«¹²×ÓÐòÁС£Ð´³öÇó½â¹ý³Ì¡£ ÂÔ

5. ¸ø¶¨Ä£Ê½\ºÍÎı¾\£¬Ð´³ö¶¯Ì¬¹æ»®·¨Çó½âK-½üËÆÆ¥ÅäµÄ¹ý³Ì¡£ ÂÔ

6. ¶ÔÓÚ×îÓŶþ²æ²éÕÒÊ÷µÄ¶¯Ì¬¹æ»®Ëã·¨£¬Éè¼ÆÒ»¸öÏßÐÔʱ¼äËã·¨£¬´Ó¶þά±íRÖÐÉú³É×îÓŶþ²æ²éÕÒÊ÷¡£

7. Ackermannº¯ÊýA(m, n)µÄµÝ¹é¶¨ÒåÈçÏ£º

n?1??A(m,n)??A(m?1,1)?A(m?1,A(m,n?1))?m?0m?0,n?0 m?0,n?0Éè¼Æ¶¯Ì¬¹æ»®Ëã·¨¼ÆËãA(m, n)£¬ÒªÇóËã·¨µÄ¿Õ¼ä¸´ÔÓÐÔΪO(m)¡£

//Çóackmanº¯Êý //ʹÓÃÕ»

#include using namespace std;

long ackman(long m, long n) {

long stack[10000]; int pos=1;

stack[0]=m;stack[1]=n; while(pos)

{

n=stack[pos--]; m=stack[pos]; if(m==0)

stack[pos]=n+1; if(m!=0&&n==0) {

stack[pos++]=m-1; stack[pos]=1; }

if(m!=0&&n!=0) {

stack[pos++]=m-1; stack[pos++]=m; stack[pos]=n-1; } }

return stack[0]; }

int main(int argc, char *argv[]) {

long m,n; cin>>m>>n;

cout<

return 0; }

8. ¿¼ÂÇÏÂÃæµÄ»õ±Ò¶Ò¸¶ÎÊÌ⣺ÔÚÃæÖµÎª(v1, v2, ?, vn)µÄnÖÖ»õ±ÒÖУ¬ÐèÒªÖ§¸¶yÖµµÄ»õ±Ò£¬Ó¦ÈçºÎÖ§¸¶²ÅÄÜʹ»õ±ÒÖ§¸¶µÄÕÅÊý×îÉÙ£¬¼´Âú×ã

?xvi?1nii?y£¬ÇÒʹ?xi×îС£¨xiÊÇ

i?1n·Ç¸ºÕûÊý£©¡£Éè¼Æ¶¯Ì¬¹æ»®Ëã·¨Çó½â»õ±Ò¶Ò¸¶ÎÊÌ⣬²¢·ÖÎöʱ¼äÐÔÄܺͿռäÐÔÄÜ¡£

#include #define N 100000 #define M 20

int a[N][M]; int value[M];

using namespace std;

int main() {

while(true) {

int i,j,k; int x,y,z;

cout<<\ÊäÈë»õ±ÒÖÖÀàµÄ¸öÊý£º\ cin>>x;

cout<<\´ÓСµ½´óÊäÈë»õ±ÒµÄ¼ÛÖµ£¬ÆäÖеÚÒ»¸ö±ØÐëΪһ£º\ for(i=1;i<=x;i++)//xΪ»õ±ÒÖÖÀàµÄ¸öÊý {

cout<<\ cin>>y; value[i]=y; }

cout<<\ÊäÈëÒª¶Ò»»µÄÇ®µÄ¼ÛÖµ£º\ cin>>z;//zΪǮ for(j=0;j<=z;j++) a[j][0]=0;

for(k=0;k<=x;k++) a[0][k]=0; for(i=1;i<=z;i++) {

for(j=1;j<=x;j++) {

if(value[j]==i) a[i][j]=1; else if(value[j]>i) a[i][j]=a[i][j-1]; else

a[i][j]=a[i-value[j]][j]+1;//Ï൱Óڰѳ˷¨»»³É¼Ó·¨£¬¼´Åöµ½Ò»¸öÇ®ÊýÓÚ

¶Ò»»»õ±Ò×ÔÉí¼Ûֵʱ£¬·µ»Øµ½

Ç®Êý¼õÈ¥¸Ã»õ±ÒÖµµÄµØ·½£¬ÆäÖµÔÙ¼Ó1// }//for }

cout<<\¶Ò»»µÄ×îС»õ±Ò¸öÊýÊÇ£º\

}//while

return 0; }

9. ¶à±ßÐÎÓÎÏ·¡£¶à±ßÐÎÓÎÏ·ÊÇÒ»¸öµ¥ÈËÍæµÄÓÎÏ·£¬¿ªÊ¼Ê±ÓÐÒ»¸öÓÉn¸ö¶¥µã¹¹³ÉµÄ¶à±ßÐΣ¬Ã¿¸ö¶¥µã¾ßÓÐÒ»¸öÕûÊýÖµ£¬Ã¿Ìõ±ß¾ßÓÐÒ»¸öÔËËã·û¡°£«¡±»ò¡°¡Á¡±¡£ÓÎÏ·¹æÔòÊÇÿ´ÎÑ¡ÔñÒ»Ìõ±ßeÒÔ¼°ºÍeÏà¹ØÁªµÄÁ½¸ö¶¥µãiºÍj£¬ÓÃÒ»¸öÐµĶ¥µãkÈ¡´ú±ße¡¢¶¥µãiºÍj£¬¶¥µãkµÄÕûÊýÖµÊǶ¥µãiºÍjµÄÕûÊýֵͨ¹ý±ßeÉϵÄÔËËã·û¼ÆËãµÃµ½µÄ½á¹û¡£µ±ËùÓб߶¼É¾³ýʱ£¬ÓÎÏ·½áÊø£¬ÓÎÏ·µÄµÃ·Ö¾ÍÊÇËùÊ£¶¥µãµÄÕûÊýÖµ¡£Éè¼Æ¶¯Ì¬¹æ»®Ëã·¨£¬¶ÔÓÚ¸ø¶¨µÄ¶à±ßÐμÆËã×î¸ßµÃ·Ö¡£

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@)