.

Any got a solution for this programming challenge ?

<<

manoj9372

Jr. Member
Jr. Member

Posts: 72

Joined: Mon Oct 05, 2009 8:54 am

Post Tue Jan 22, 2013 10:57 am

Any got a solution for this programming challenge ?

hi guys,
here is challenge i got from my friend,i just want to know there is a solution available for this task,

when i enter a number it should display it's equivalent binary number like for 2 = 0010 3=0011,
but the important restriction is "IT SHOULD NOT USE/INVOKE MULTIPLICATION OR DIVISION OF ANY FORM" inside the computer.

is there a solution possible ?

if any one has one please post here...
<<

Dark_Knight

User avatar

Sr. Member
Sr. Member

Posts: 294

Joined: Mon Aug 11, 2008 7:03 pm

Post Tue Jan 22, 2013 11:33 am

Re: Any got a solution for this programming challenge ?

Yes..we won't do your homewrok for you ;D ;D ;D ;D

.....just messing with you...
Last edited by Dark_Knight on Tue Jan 22, 2013 11:34 am, edited 1 time in total.
CEH, OSCP, GPEN, GWAPT, GCIA
http://sector876.blogspot.com
<<

hayabusa

User avatar

Hero Member
Hero Member

Posts: 1661

Joined: Mon Jan 29, 2007 2:59 pm

Post Tue Jan 22, 2013 11:41 am

Re: Any got a solution for this programming challenge ?

Depends on the language...  It's simple in python...

As of version 2.3

bin(x)
Convert an integer number to a binary string. The result is a valid Python expression. If x is not a Python int object, it has to define an __index__() method that returns an integer.

You'd just need to strip off the first two characters of the return, such as:

  Code:
val=bin(8);
newval=val.replace("0b", "");
print newval;



Now, we'll assume that the bin() uses multiplication / division inside of itself, so if you really wanted to do this, without ANY, you'd likely need to create an array of values, during runtime, where you GIVE it the values, and parse the array to return them.  That's if he's TRULY not allowing the use of the builtin functions of python to do the work...
Last edited by hayabusa on Tue Jan 22, 2013 11:45 am, edited 1 time in total.
~ hayabusa ~ 

"All men can see these tactics whereby I conquer, but what none can see is the strategy out of which victory is evolved." - Sun Tzu, 'The Art of War'


OSCE, OSCP , GPEN, C|EH
<<

unicityd

User avatar

Full Member
Full Member

Posts: 170

Joined: Wed Sep 03, 2008 5:33 pm

Post Tue Jan 22, 2013 11:46 am

Re: Any got a solution for this programming challenge ?

hayabusa wrote:Depends on the language...  It's simple in python...

As of version 2.3

bin(x)


I think the point of the challenge is to do it manually.  The easiest way I can think of off-hand is to use a logical AND to test if each bit is set. 
BS in IT, CISSP, MS in IS Management (in progress)
<<

caissyd

User avatar

Hero Member
Hero Member

Posts: 894

Joined: Thu Dec 31, 2009 11:20 am

Location: Ottawa, Canada

Post Tue Jan 22, 2013 12:13 pm

Re: Any got a solution for this programming challenge ?

"IT SHOULD NOT USE/INVOKE MULTIPLICATION OR DIVISION OF ANY FORM" inside the computer.

The important part is "inside the computer". In python, the bin() function might use multiplications and/or divisions.

You can always have a whole bunch of "if" statements. That's not elegant, but it would work for sure:

  Code:
int number;

//Set the value of the "number" variable somehow

if(number == 0){
    return "0000";
}
else if(number == 1){
    return "0001";
}
else if(number == 2){
    return "0010";
}
...



You can also fake multiplications with for loops:
  Code:
int number1;
int number2;
int result = 0;

//Set the value of the "number1" and "number2" here

for(int i=0; i<number1; i++){

    result = result + number2;
}

return result;
Last edited by caissyd on Tue Jan 22, 2013 12:19 pm, edited 1 time in total.
OSCP, GPEN, GWAPT, GSEC, CEH, CISSP
(aka H1t.M0nk3y)
<<

hayabusa

User avatar

Hero Member
Hero Member

Posts: 1661

Joined: Mon Jan 29, 2007 2:59 pm

Post Tue Jan 22, 2013 12:19 pm

Re: Any got a solution for this programming challenge ?

I think unicityd's method is likely what they want.

@H1tM0nk3y...  That's why I put my extra 2 bits in, at the end, and noted adding values in the array.  You could simply create an array with all the values in order, then call from the positions, etc.

But really, I think unicityd's method is what they probably wanted.  ;)
~ hayabusa ~ 

"All men can see these tactics whereby I conquer, but what none can see is the strategy out of which victory is evolved." - Sun Tzu, 'The Art of War'


OSCE, OSCP , GPEN, C|EH
<<

manoj9372

Jr. Member
Jr. Member

Posts: 72

Joined: Mon Oct 05, 2009 8:54 am

Post Thu Jan 24, 2013 3:20 am

Re: Any got a solution for this programming challenge ?

To the first guy
i am not a school kid  ;D
we need this logic to show that in REAL LIFE that program can produce much faster results than the hardware,that is the main task of this program and TBH i am not a programmer  ???

And guys when i asked for solutions for this program from other programmers they urged me to use some kind of bit shifting to do this,
and it seems "unicityd" points were right... ;D
<<

caissyd

User avatar

Hero Member
Hero Member

Posts: 894

Joined: Thu Dec 31, 2009 11:20 am

Location: Ottawa, Canada

Post Thu Jan 24, 2013 7:42 am

Re: Any got a solution for this programming challenge ?

Ok, ok, I agree, unicityd has a better solution than me...  :D

I have way too many things on my plate right now to spend cycles on this.

Being a developer, I believe that CPUs and RAM are way cheaper than developer's time (at least, most of the time).

Good luck and please post your solution!  :)
OSCP, GPEN, GWAPT, GSEC, CEH, CISSP
(aka H1t.M0nk3y)

Return to Programming

Who is online

Users browsing this forum: No registered users and 1 guest

cron
.
Powered by phpBB® Forum Software © phpBB Group.
Designed by ST Software