Starting from:

$30

Algorithm Homework 2 Solved

Base Conversion
 

Write     a          program to         convert  a          whole    number  specified in          any       base     (2…16)  to         a          whole    number  in          any       other base     (2…16). Digits     above    9          are        represented        by         single    capital   letters:   10         by         A,         11         by         B,         12         by C,         13         by         D,         14         by         E          and       15         by         F. Input

The       input     consists of         three     values:

 a        positive  integer   indicating           the        base     of         the        number a           positive  integer   indicating           the        base     we        wish      to         convert  to the    actual    number  in          the        firs        base     that       we        wish      to         convert  to         the        second  base     (this         number  will        have     letters representing          any       digits     higher    than      9;         it          may      have     invalid  digits)

Output
The       output    should   consist   of         the        original  number  followed by         the        string     "base",   followed by         the        original  base     number, followed by         the        string     "="        followed by         the        converted           number, followed by         the        string     "base"   followed by         the        new base.

If           the        original  number  is          invalid,   output    the        statement:

originalValue                    is                      an            illegal base     originalBase         number

where    originalValue        is          replace  by         the        value     to         be         converted           and       originalBase         is          replaced by         the original  base value.

Example            1
 

Example            2
 

Example            3
 

Page          1/1

Big-   or      Little-         Endian
All         computer           memory is          organized           into       8-bit      bytes.    For       integer   values   that       require   a          type      with       more     than 8-bits,    such      as         the typical          2-byte,   4-byte,   and       8-byte    integral  types     available on         most     modern  hardware,           there     is          no universal            agreement          as         to how   to         order     those     bytes     and       two       incompatible       storage  schemes            exist.

The       first       stores    integers as         groups   of         consecutive        8-bit      bytes     with       the        least      significant           byte      occupying          the lowest   memory address  within    the        group    and       the        most     significant           byte      occupying          the        highest  memory address.

The       second  is          just       the        reverse; the        least      significant           byte      is          stored    in          the        highest  memory address within    the group,   and       the most significant           byte      is          stored    in          the        lowest   memory address.

Those    schemes            have     been     dubbed  Little      Endian   and       Big        Endian,  respectively.

We        assume that       signed   integers are        stored    using     "“"two’s  complement"       representation.

When    binary    integer   data      is          shared   between a          Little      Endian   and       Big        Endian   machine,            a          data      conversion         must be         performed which  involves reversing            the        bytes     of         the        data.     Once     the        bytes     have     been     reversed the        integer   is then      correctly interpreted by      the        hardware           as         the        original  value     from      the        opposite-endian   machine.            Your      task      is to         write      a          program that       will        read      a          list of     integers and       report    the        integers that       the        binary    representations   of the        input     integers would    represent           on         an         oppositeendian    machine.

Input

A          number                         n ,          -2147483648            <=              n                <=              2147483647 .

Output
The       number  n          followed by         the        phrase   "converts            to"        followed by         the        other     endian-value       (single   space    between the three parts).

Example            1
 

Example            2
 

Example            3
 

Example            4
 


Chess        Championship
In          the        World    Chess   Championship     of         2035,    2^N       contestants         were     supposed           to         participate.         Because of sudden  turn       of         the hurricane      Alice,     many     flights    were     canceled            last       minute   and       many     of         the        contestants         could not        arrive    on         time      to         participate in       the        championship.

With      all         the        matches pre-arranged       ahead    of         time,     the        organizer           decide   to         keep     the        schedule            as         is and       allow     walkover matches            in          case      when     one       of         the        players  is          missing.

 If        both      players  are        available,           then      there     will        be         a          normal   match.

If        only      one       player    is          available,           then      this       is          a          walkover match    and       the        player    automatically      advances         to         the        next      level. If  no         player    is          available,           then      there     is          no         match.

  In          the        figure    on         the        right,     the        players  3          and       4          could     not        arrive. Their        match    is          canceled. Players  1          and       2,         play      their      regular   match and          the        winner   advances           to         the        next      level      match.   But       there is          no second          player    there,    so         it          is          a          walkover match.

Given    the        list        of         players  who      could     not        arrive    on         time,     calculate the       number  of         the        walkover matches in          the whole    championship.

Input
Each  test  begins  with  two  integers:              1              <=    N                <=              10         and       

0              <=              M              <=              2^N .      2^N       is          the        number  of         players  scheduled          for the   championship.     M         is          the number  of         players  who      could     not arrive           on         time      due       to         the        canceled            flights.

The       next      line       contains M         integers, denoting the        players  who have           not        arrived.  The       players  are        numbered          1          to 2^N .

Output

The       number  of         walkover matches.

Example            1
 

 


Negative    base
Have     you       ever      heard    of         base-2   (binary)  numbers?

Well,      of         course   you       did!!!     You       are        a          computer           scientist.

How      about    base-(-2)            numbers?           Yes,      you       read      it          right      we        are        talking   about    a          base     that       is negative!!!

An         integer   n          writte     in          in          base-(-2)            is          a          sequence           of         bits       ( b_i ),    written   right      to         left.       Each of         which    is          either    0          or         1          (no negative       bits       are        allowed) and       the        following must     hold:

n              =                b_0           +                b_1           *                (-2)            +                b+2           *                (-2)^2       +                b_3           *                (-2)^3       +                ...

Every     integer   in          base-10 has       a          unique   representation     in          base-(-2)            and       no         negative signs     are        ever      needed.

Your      task      is          to         write      a          program that       given     a          number  in          base-10 finds      its         base-(-2)            representation.

Input

The       number  in          base-10, -1,000,000,000    <=        N          <=        1,000,000,000.

Output

The       corresponding     number  in          base-(-2)            with       no         leading  zeros.

Example            1
 

Example            2
 

 

 

Splitting    Numbers
We  define  the  operation  of  splitting  a  binary  number   n into two numbers a(n)      and b(n) as   follows. Let       

0                                                                                                                                        <=                                                                            i1                       <      i2               <                ...               <                ik          be                                                                                            the                                               indices          of    the        bits       (with      the        least                                                                                       significant                                             bit       having    index     0)         in          n          that       are                                                                                            1.

Then     the        indices   of         the        bits       of         a(n)       that       are        1          are        i1 ,        i3 ,        i5 ,        …         and       the        indices   of           the        bits       of         b(n)       that       are        1          are        i2 ,        i4 ,        i6 ,        …

For            example,        if                            n                                is        110110101         in         binary    then,     again     in          binary,   a                =                         010010001      and                         b=                                      100100100 .

Input
The       input     consists of         a          single    integer   n          between 1          and       2^31         -                 1          written   in          standard decimal  (base    10) format   on         a single  line.

Output
The       output    consists of         a          single    line,      containing          the        integers a(n)       and       b(n)       separated           by         a          single space.   Both      a(n) and b(n)       should   be         written   in          decimal  format.

Example            1
 

Example            2
 

Example            3
 

Page          1/1

More products