Page 1 of 3

913 - Joana and the Odd Numbers

Posted: Sun Oct 08, 2006 10:06 pm
by sakhassan
Do i need to precalculate??
how i determine the 1st integer of the line N ????

Posted: Sun Oct 08, 2006 11:00 pm
by Jan
No need to precalculate anything. You can find a general formula to find the last integer in the line N. First list all the numbers -

Line 1 - 1
Line 3 - 7
Line 5 - 17
Line 7 - 31
Line 9 - 49
Line 11 - 71
...
Line N - ?

The formula is not so tough. Try it. :D

Posted: Mon Oct 09, 2006 8:56 am
by sakhassan
Thanks J@N.... I got the formula ;)

Posted: Mon Nov 27, 2006 9:15 pm
by kana
can anyone tell me whats the wrong with my code? :(

Posted: Mon Nov 27, 2006 9:34 pm
by Jan
Try the samples

Input:

Code: Select all

99999999
1000000001
Output:

Code: Select all

14999999999999991
1500000005999999997
Use 'long long' istead of 'long double'. Dont forget to remove your code. And remember that if you want to post a code then paste your code using 'code' from the editor. Hope these help.

913...TLE!!!!

Posted: Mon Dec 04, 2006 12:05 pm
by Iffat
can anyone expain why i am getting TLE for this code

Code: Select all

CUT
plzzzzzzzzzz help me!!!
thanx

Posted: Mon Dec 04, 2006 12:10 pm
by Jan
Read the previous posts and run your code with those samples. You will find the reason yourself.

Posted: Mon Dec 04, 2006 12:45 pm
by Iffat
thanx for reply..but i am still confused :( ...i used long long...will u explain my bug plzz? :oops: :oops:

Posted: Mon Dec 04, 2006 12:54 pm
by Jan
'long long' is not the problem.

Code: Select all

      while(n!=1) 
      { 
         sum=sum+(n*2); 
         n-=2; 
      }  
If the value of 'n' is big, like 1000000001, then you have to use this loop for (1000000001/2) times. Which is too big. Try to figure out the last odd number in a certain line. You dont have to use any loop. You can find a general formula. Then the result can be found in just O(1) time, which means no loop. Hope you can generate the formula.

Posted: Mon Dec 04, 2006 1:19 pm
by Iffat
thanx jan i got the formula and got AC :) :)

why wa?

Posted: Thu May 24, 2007 8:56 pm
by rezaeeEE

Code: Select all

removed after accept

Posted: Thu May 24, 2007 9:12 pm
by Jan
functoin pow() returns double, and you are assigning it to a 'long long' variable. So, precision problems can occur easily. Try to get rid of floating point calculations.

thank u

Posted: Thu May 24, 2007 9:53 pm
by rezaeeEE
thank u very much mr jan.
you are a great helper.

Posted: Thu Oct 25, 2007 1:46 pm
by laicc86

Code: Select all

deleted after AC
i get RE for this...can anyone help me? thx

Posted: Thu Oct 25, 2007 2:07 pm
by Jan
The input set contains valid cases. So, no need to check n. And the function should be

Code: Select all

long long odd_num(long long num)
Hope these help.