ϰÌâ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