Ëã·¨Éè¼ÆÓë·ÖÎö»ù´¡Ï°Ìâ²Î¿¼´ð°¸ ÏÂÔØ±¾ÎÄ

ϰÌâ1.1

5..Ö¤Ã÷µÈʽgcd(m,n)=gcd(n,m mod n)¶Ôÿһ¶ÔÕýÕûÊým,n¶¼³ÉÁ¢. Hint:

¸ù¾Ý³ý·¨µÄ¶¨Òå²»ÄÑÖ¤Ã÷:

? Èç¹ûdÕû³ýuºÍv, ÄÇôdÒ»¶¨ÄÜÕû³ýu¡Àv;

? Èç¹ûdÕû³ýu,ÄÇôdÒ²Äܹ»Õû³ýuµÄÈκÎÕûÊý±¶ku.

¶ÔÓÚÈÎÒâÒ»¶ÔÕýÕûÊým,n,ÈôdÄÜÕû³ýmºÍn,ÄÇôdÒ»¶¨ÄÜÕû³ýnºÍr=m mod n=m-qn£»ÏÔÈ»£¬ÈôdÄÜÕû³ýnºÍr£¬Ò²Ò»¶¨ÄÜÕû³ým=r+qnºÍn¡£

Êý¶Ô(m,n)ºÍ(n,r)¾ßÓÐÏàͬµÄ¹«Ô¼ÊýµÄÓÐÏ޷ǿռ¯£¬ÆäÖÐÒ²°üÀ¨ÁË×î´ó¹«Ô¼Êý¡£¹Êgcd(m,n)=gcd(n,r)

6.¶ÔÓÚµÚÒ»¸öÊýСÓÚµÚ¶þ¸öÊýµÄÒ»¶ÔÊý×Ö,Å·¼¸ÀïµÃËã·¨½«»áÈçºÎ´¦Àí?¸ÃËã·¨ÔÚ´¦ÀíÕâÖÖÊäÈëµÄ¹ý³ÌÖÐ,ÉÏÊöÇé¿ö×î¶à»á·¢Éú¼¸´Î? Hint:

¶ÔÓÚÈκÎÐÎÈç0<=m

gcd(m,n)=gcd(n,m)

²¢ÇÒÕâÖÖ½»»»´¦ÀíÖ»·¢ÉúÒ»´Î.

7.a.¶ÔÓÚËùÓÐ1¡Üm,n¡Ü10µÄÊäÈë, EuclidËã·¨×îÉÙÒª×ö¼¸´Î³ý·¨?(1´Î) b. ¶ÔÓÚËùÓÐ1¡Üm,n¡Ü10µÄÊäÈë, EuclidËã·¨×î¶àÒª×ö¼¸´Î³ý·¨?(5´Î) gcd(5,8)

ϰÌâ1.2 1.(Å©·ò¹ýºÓ)

P¡ªÅ©·ò W¡ªÀÇ G¡ªÉ½Ñò C¡ª°×²Ë 2.(¹ýÇÅÎÊÌâ)

1,2,5,10---·Ö±ð´ú±í4¸öÈË, f¡ªÊÖµçͲ

4. ¶ÔÓÚÈÎÒâʵϵÊýa,b,c, ij¸öËã·¨ÄÜÇó·½³Ìax^2+bx+c=0µÄʵ¸ù,д³öÉÏÊöËã·¨µÄα´úÂë(¿ÉÒÔ¼ÙÉèsqrt(x)ÊÇÇ󯽷½¸ùµÄº¯Êý) Ëã·¨Quadratic(a,b,c)

//Çó·½³Ìax^2+bx+c=0µÄʵ¸ùµÄËã·¨ //ÊäÈë:ʵϵÊýa,b,c

//Êä³ö:ʵ¸ù»òÕßÎÞ½âÐÅÏ¢

1

If a¡Ù0

D¡ûb*b-4*a*c If D>0

temp¡û2*a

x1¡û(-b+sqrt(D))/temp x2¡û(-b-sqrt(D))/temp return x1,x2

else if D=0 return ¨Cb/(2*a) else return ¡°no real roots¡± else //a=0

if b¡Ù0 return ¨Cc/b else //a=b=0

if c=0 return ¡°no real numbers¡± else return ¡°no real roots¡±

5. ÃèÊö½«Ê®½øÖÆÕûÊý±í´ïΪ¶þ½øÖÆÕûÊýµÄ±ê×¼Ëã·¨ a.ÓÃÎÄ×ÖÃèÊö b.ÓÃα´úÂëÃèÊö ½â´ð£º

a.½«Ê®½øÖÆÕûÊýת»»Îª¶þ½øÖÆÕûÊýµÄËã·¨ ÊäÈ룺һ¸öÕýÕûÊýn

Êä³ö£ºÕýÕûÊýnÏàÓ¦µÄ¶þ½øÖÆÊý

µÚÒ»²½£ºÓÃn³ýÒÔ2£¬ÓàÊý¸³¸øKi(i=0,1,2...)£¬É̸³¸øn µÚ¶þ²½£ºÈç¹ûn=0£¬Ôòµ½µÚÈý²½£¬·ñÔòÖØ¸´µÚÒ»²½ µÚÈý²½£º½«Ki°´ÕÕi´Ó¸ßµ½µÍµÄ˳ÐòÊä³ö

b.α´úÂë

Ëã·¨ DectoBin(n)

//½«Ê®½øÖÆÕûÊýnת»»Îª¶þ½øÖÆÕûÊýµÄËã·¨ //ÊäÈ룺ÕýÕûÊýn

//Êä³ö£º¸ÃÕýÕûÊýÏàÓ¦µÄ¶þ½øÖÆÊý£¬¸ÃÊý´æ·ÅÓÚÊý×éBin[1...n]ÖÐ i=1

while n!=0 do { Bin[i]=n%2; n=(int)n/2; i++; }

while i!=0 do{ print Bin[i]; i--; }

9.¿¼ÂÇÏÂÃæÕâ¸öËã·¨,ËüÇóµÄÊÇÊý×éÖдóСÏà²î×îСµÄÁ½¸öÔªËØµÄ²î.(Ëã·¨ÂÔ) ¶ÔÕâ¸öËã·¨×ö¾¡¿ÉÄܶàµÄ¸Ä½ø. Ëã·¨ MinDistance(A[0..n-1]) //ÊäÈë:Êý×éA[0..n-1]

//Êä³ö:the smallest distance d between two of its elements

2

ϰÌâ1.3

1. ¿¼ÂÇÕâÑùÒ»¸öÅÅÐòËã·¨,¸ÃËã·¨¶ÔÓÚ´ýÅÅÐòµÄÊý×éÖеÄÿһ¸öÔªËØ,¼ÆËã±ÈËüСµÄÔªËØ¸öÊý,È»ºóÀûÓÃÕâ¸öÐÅÏ¢,½«¸÷¸öÔªËØ·Åµ½ÓÐÐòÊý×éµÄÏàӦλÖÃÉÏÈ¥.

a.Ó¦ÓøÃËã·¨¶ÔÁÐ±í¡¬60,35,81,98,14,47¡¬ÅÅÐò b.¸ÃËã·¨Îȶ¨Âð? c.¸ÃËã·¨ÔÚλÂð? ½â:

a. ¸ÃËã·¨¶ÔÁÐ±í¡¬60,35,81,98,14,47¡¬ÅÅÐòµÄ¹ý³ÌÈçÏÂËùʾ:

b.¸ÃËã·¨²»Îȶ¨.±ÈÈç¶ÔÁÐ±í¡¬2,2*¡¬ÅÅÐò c.¸ÃËã·¨²»ÔÚλ.¶îÍâ¿Õ¼äfor S and Count[] 4.(¹ÅÀÏµÄÆßÇÅÎÊÌâ)

3

ϰÌâ1.4

1.Çë·Ö±ðÃèÊöÒ»ÏÂÓ¦¸ÃÈçºÎʵÏÖÏÂÁжÔÊý×éµÄ²Ù×÷,ʹµÃ²Ù×÷ʱ¼ä²»ÒÀÀµÊý×éµÄ³¤¶È. a.ɾ³ýÊý×éµÄµÚi¸öÔªËØ(1<=i<=n)

b.ɾ³ýÓÐÐòÊý×éµÄµÚi¸öÔªËØ(ÒÀÈ»ÓÐÐò) hints:

a. Replace the ith element with the last element and decrease the array size of 1

b. Replace the ith element with a special symbol that cannot be a value of the array¡¯s element(e.g., 0 for an array of positive numbers ) to mark the ith position is empty. (¨Dlazy deletion¡¬)

µÚ2Õ ϰÌâ2.1

7.¶ÔÏÂÁжÏÑÔ½øÐÐÖ¤Ã÷:(Èç¹ûÊÇ´íÎóµÄ,Çë¾ÙÀý) a. Èç¹ût(n)¡ÊO(g(n),Ôòg(n)¡Ê¦¸(t(n)) b.¦Á>0ʱ,¦¨(¦Ág(n))= ¦¨(g(n)) ½â:

a. Õâ¸ö¶ÏÑÔÊÇÕýÈ·µÄ¡£ËüÖ¸³öÈç¹ût(n)µÄÔö³¤ÂÊСÓÚ»òµÈÓÚg(n)µÄÔö³¤ÂÊ£¬ÄÇô g(n)µÄÔö³¤ÂÊ´óÓÚ»òµÈÓÚt(n)µÄÔö³¤ÂÊ

ÓÉ t(n)¡Üc¡¤g(n) for all n¡Ýn0, where c>0

1 Ôò£º()t(n)?g(n) for all n¡Ýn0

cb. Õâ¸ö¶ÏÑÔÊÇÕýÈ·µÄ¡£Ö»ÐèÖ¤Ã÷?(?g(n))??(g(n)),?(g(n))??(?g(n))¡£ Éèf(n)¡Ê¦¨(¦Ág(n)),ÔòÓУº

f(n)?c?g(n) for all n>=n0, c>0

f(n)?c1g(n) for all n>=n0, c1=c¦Á>0

¼´£ºf(n)¡Ê¦¨(g(n))

ÓÖÉèf(n)¡Ê¦¨(g(n)),ÔòÓУºf(n)?cg(n) for all n>=n0,c>0

f(n)?c??g(n)?c1?g(n) for all n>=n0,c1=c/¦Á>0

4