Win a copy of Functional Reactive Programming this week in the Other Languages forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

double the number

 
Arjun Shastry
Ranch Hand
Posts: 1899
1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
This one is quick and interesting.
Natural number ends with 2.If we remove this 2 and place it at the beginning, the number gets doubled.Find the smallest possible original number.
(e.g. number is say 142. New number will be 214. 214 is not twice 142 so 142 is not such number).
 
palanisamy subramani
Greenhorn
Posts: 29
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I tried all the possible way. This is the only number coming very nearer but not as per your expected result.
1052:2105.

I am suspecting whether that question has any answer.
 
Mike Simmons
Ranch Hand
Posts: 3090
14
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
palanisamy subramani wrote:I tried all the possible way.

Really? All of them?
 
Arjun Shastry
Ranch Hand
Posts: 1899
1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I found the number.Its quite big.Let others try.
 
anirudh jagithyala
Ranch Hand
Posts: 41
  • Likes 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hey Arjun,

I tried out the problem and found the answer as:105263157894736842

Not sure whether it is the smallest one.....is it right...?

 
Arjun Shastry
Ranch Hand
Posts: 1899
1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
anirudh jagithyala wrote:Hey Arjun,

I tried out the problem and found the answer as:105263157894736842

Not sure whether it is the smallest one.....is it right...?


i too found the same number but not sure its smallest one.Waiting for others.
 
Paul Clapham
Sheriff
Posts: 21416
33
Eclipse IDE Firefox Browser MySQL Database
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
No need to wait... the title of this forum is Programming Diversions. While the question is certainly diverting, I haven't seen any programming yet.
 
fred rosenberger
lowercase baba
Bartender
Posts: 12198
35
Chrome Java Linux
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Paul Clapham wrote:No need to wait... the title of this forum is Programming Diversions. While the question is certainly diverting, I haven't seen any programming yet.

Maybe you could interpret the title as 'diversions AWAY from programming', thus no programming required.
 
Mike Simmons
Ranch Hand
Posts: 3090
14
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
This gives all solutions up to 100 digits:

The result is

The pattern is clear.

Obviously, what I was solving for was all the digits other than the 2, which moves.
 
Eugene Rabii
Ranch Hand
Posts: 30
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have to say, this is impressive!
I have reached the same code:

x = ( 2*(10^n) - 4 ) / 19

And it was a pleasure getting here!

Cheers, Eugene
 
Greg Charles
Sheriff
Posts: 2993
12
Firefox Browser IntelliJ IDE Java Mac Ruby
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Eugene Rabii wrote:I have to say, this is impressive!
I have reached the same code:

x = ( 2*(10^n) - 4 ) / 19

And it was a pleasure getting here!

Cheers, Eugene


-4? -2 surely?

My thinking runs this way:

2 * (10^n) + (x-2)/10 = 2x
2 * (10^(n+1)) + x - 2 = 20x
2 * (10^(n+1)) - 2 = 19x
x = (2 * (10^(n+1)) - 2 ) / 19

So, we just look for a value of n that makes x an integer ending with 2. The n vs (n+1) doesn't matter, but the -4 vs -2 will produce different answers.

OK, code time:


Results:

2, 10, 8
3, 105, 3
4, 1052, 10
5, 10526, 4
6, 105263, 1
7, 1052631, 9
8, 10526315, 13
9, 105263157, 15
10, 1052631578, 16
11, 10526315789, 7
12, 105263157894, 12
13, 1052631578947, 5
14, 10526315789473, 11
15, 105263157894736, 14
16, 1052631578947368, 6
17, 10526315789473684, 2
18, 105263157894736842, 0

So the answer is 105263157894736842. The check for the last digit being 2 turned out to be unnecessary, but I think that's a coincidence.

ETA: In reading through Mike's solution, I see the -4 makes sense if you declare x to be the number without the final 2. Sorry about that!

I wonder if we can prove we don't have to check the final digit, as both Mike and I discovered?


 
Mike Simmons
Ranch Hand
Posts: 3090
14
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Eugene is quoting the same formula I used above. And we got the same answer - except that as I noted above, my 'x' represented all the digits other than the 2. So I got

10526315789473684

and you got

105263157894736842
 
Rohini Sahuji
Greenhorn
Posts: 28
1
Chrome Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I tried some thing very simple and may sound very stupid....


BigInteger i,a,b;
for(i=0;i<100000000000000;i++)
{
String x,y;
String num = Integer.toString(i);
x = num+"2";
y = "2"+num;
int a = Integer.parseInt(x);
int b = Integer.parseInt(y);

if(a==(b/2))
System.out.println(a+" "+b);
}

did not get any no...though....

 
Mike Simmons
Ranch Hand
Posts: 3090
14
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Rohini Sahuji wrote:did not get any no...though....

It's possible this is caused by the fact that your code does not compile. That's just a guess though.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic