Tasks Details
  
    
    
      
        
           
        
          
        
       
      
        
          
          
          
          
            
              
                
        
        
          
  
                        
  
    
    
      
        
          
        
        
    
      
      
          
            
              
              
            
             
              
                
                  
                  
              
             
           
        
      
       
    
  
          
            
          
        
       
    
   
 
                      
                        
  
  
  
                        
  
    
    
      
        
          
        
        
    
      
      
          
            
              
              
            
             
              
                
                  
                  
              
             
           
        
      
       
    
  
          
            
          
        
       
    
   
 
                      
                        
  
  
  
                        
  
    
    
      
        
          
        
        
    
      
      
          
            
              
              
            
             
              
                
                  
                  
              
             
           
        
      
       
    
  
          
            
          
        
       
    
   
 
                      
                        
  
  
  
                        
  
    
    
      
        
          
        
        
    
      
      
          
            
              
              
            
             
              
                
                  
                  
              
             
           
        
      
       
    
  
          
            
          
        
       
    
   
 
                      
                        
  
  
  
                        
  
    
    
      
        
          
        
        
    
      
      
          
            
              
              
            
             
              
                
                  
                  
              
             
           
        
      
       
    
      
      
          
            
              
              
            
             
              
                
                  
                  
              
             
           
        
      
       
    
  
          
            
              
                
                
                  
                    
            
          
        
       
    
   
 
                      
                        
  
  
  
    
      
    
      
    
  
                        
  
    
    
      
        
          
        
        
    
      
      
          
            
              
              
            
             
              
                
                  
                  
              
             
           
        
      
       
    
      
      
          
            
              
              
            
             
              
                
                  
                  
              
             
           
        
      
       
    
  
          
            
              
                
                
                  
                    
            
          
        
       
    
   
 
                      
                        
  
  
  
                        
  
    
    
      
        
          
        
        
    
       
    
       
    
  
          
            
              
                
                
                  
                    
            
          
        
       
    
   
 
                      
                        
  
  
  
    
      
    
      
    
  
                        
  
    
    
      
        
          
        
        
    
       
    
       
    
  
          
            
              
                
                
                  
                    
            
          
        
       
    
   
 
                      
                        
  
  
  
    
      
    
      
    
  
                        
  
    
    
      
        
          
        
        
    
       
    
       
    
  
          
            
              
                
                
                  
                    
            
          
        
       
    
   
 
                      
                        
  
  
  
    
      
    
      
    
  
                        
  
    
    
      
        
          
        
        
    
       
    
       
    
  
          
            
              
                
                
                  
                    
            
          
        
       
    
   
 
                      
                        
  
  
  
    
      
    
      
    
  
                        
  
    
    
      
        
          
        
        
    
       
    
       
    
  
          
            
              
                
                
                  
                    
            
          
        
       
    
   
 
                      
                        
  
  
  
    
      
    
      
    
  
                        
  
    
    
      
        
          
        
        
    
       
    
       
    
  
          
            
              
                
                
                  
                    
            
          
        
       
    
   
 
                      
                        
  
  
  
    
      
    
      
    
  
                        
  
    
    
      
        
          
        
        
    
       
    
       
    
  
          
            
              
                
                
                  
                    
            
          
        
       
    
   
 
                      
                        
  
  
  
    
      
    
      
    
  
                        
  
    
    
      
        
          
        
        
    
       
    
       
    
  
          
            
              
                
                
                  
                    
            
          
        
       
    
   
 
                      
                        
  
  
  
    
      
    
      
    
  
                        
  
    
    
      
        
          
        
        
    
       
    
       
    
  
          
            
              
                
                
                  
                    
            
          
        
       
    
   
 
                      
                        
  
  
  
    
      
    
      
    
  
                        
  
    
    
      
        
          
        
        
    
       
    
       
    
  
          
            
              
                
                
                  
                    
            
          
        
       
    
   
 
                      
                        
  
  
  
    
      
    
      
    
  
                        
  
    
    
      
        
          
        
        
    
       
    
       
    
  
          
            
              
                
                
                  
                    
            
          
        
       
    
   
 
                      
                        
  
  
  
    
      
    
      
    
  
                        
  
    
    
      
        
          
        
        
    
       
    
       
    
  
          
            
              
                
                
                  
                    
            
          
        
       
    
   
 
                      
                        
  
  
  
    
      
    
      
    
  
                        
  
    
    
      
        
          
        
        
    
       
    
       
    
  
          
            
              
                
                
                  
                    
            
          
        
       
    
   
 
                      
                        
  
  
  
    
      
    
      
    
  
                        
  
    
    
      
        
          
        
        
    
       
    
       
    
  
          
            
              
                
                
                  
                    
            
          
        
       
    
   
 
                      
                        
  
  
  
    
      
    
      
    
  
                        
  
    
    
      
        
          
        
        
    
       
    
       
    
  
          
            
              
                
                
                  
                    
            
          
        
       
    
   
 
                      
                        
  
  
  
    
      
    
      
    
  
                        
  
    
    
      
        
          
        
        
    
       
    
       
    
  
          
            
              
                
                
                  
                    
            
          
        
       
    
   
 
                      
                        
  
  
  
    
      
    
      
    
  
                        
  
    
    
      
        
          
        
        
    
       
    
       
    
  
          
            
              
                
                
                  
                    
            
          
        
       
    
   
 
                      
                        
  
  
  
    
      
    
      
    
  
                        
  
    
    
      
        
          
        
        
    
       
    
       
    
  
          
            
              
                
                
                  
                    
            
          
        
       
    
   
 
                      
                        
  
  
  
    
      
    
      
    
  
                        
  
    
    
      
        
          
        
        
    
       
    
       
    
  
          
            
              
                
                
                  
                    
            
          
        
       
    
   
 
                      
                        
  
  
  
    
      
    
      
    
  
                        
  
    
    
      
        
          
            
        
    
  
  
  
    
       
    
       
    
       
    
  
          
            
          
        
       
    
   
 
                      
                    
                  
                
              
            
          
          
        
      
    
  
    
          easy
        
        
            1.
            
              FrogJmp
            
          
          
            Count minimal number of jumps from position X to Y.
          
        
  
    
    Task Score
    
    
  
  
    
      
        
          
            
        
      
    
  
          
              100%
            
          
  
    
    Correctness
    
    
  
  
    
      
        
          
            
        
      
    
  
          
              100%
            
          
  
    
    Performance
    
    
  
  
    
      
        
          
            
        
      
    
  
        
              100%
            
          A small frog wants to get to the other side of the road. The frog is currently located at position X and wants to get to a position greater than or equal to Y. The small frog always jumps a fixed distance, D.
Count the minimal number of jumps that the small frog must perform to reach its target.
Write a function:
function solution($X, $Y, $D);
that, given three integers X, Y and D, returns the minimal number of jumps from position X to a position equal to or greater than Y.
For example, given:
X = 10 Y = 85 D = 30the function should return 3, because the frog will be positioned as follows:
- after the first jump, at position 10 + 30 = 40
 - after the second jump, at position 10 + 30 + 30 = 70
 - after the third jump, at position 10 + 30 + 30 + 30 = 100
 
Write an efficient algorithm for the following assumptions:
- X, Y and D are integers within the range [1..1,000,000,000];
 - X ≤ Y.
 
Copyright 2009–2025 by Codility Limited. All Rights Reserved. Unauthorized copying, publication or disclosure prohibited.
              
            
          
            Solution
            
            
              
                
              
            
          
          
          
            
              Programming language used PHP
            
          
          
            
            
              Time spent on task 37 minutes
              
            
            
          
          
          
            
              
                
                  Notes
                  
                    
                  
                
               
              
                
              
              
                
                  
                    
                  
                  
                  
                  
                  
                    
                  
                  
                    
                      
                        
  
  
                      
                        
                          not defined yet
                        
                      
                      
                    
                    
                  
          Analysis 
          
            
          
        
        
          
  
  
  
        
          expand all 
        
        Example tests
      
      
        
        
                1.
              
              
              
                
                  0.022 s
                
              
              
              
                
                  RUNTIME ERROR,
                  tested program terminated unexpectedly
                
                
              
            
                    
                      stderr:
                      
                Invalid result type, int expected.
          Analysis 
          
            
          
        
        
          
  
  
  
        
          expand all 
        
        Example tests
      
      
        
        
                1.
              
              
              
                
                  0.025 s
                
              
              
              
                
                  RUNTIME ERROR,
                  tested program terminated unexpectedly
                
                
              
            
                    
                      stderr:
                      
                Invalid result type, int expected.
          Analysis 
          
            
          
        
        
          
  
  
  
        
          expand all 
        
        Example tests
      
      
        
        
                1.
              
              
              
                
                  0.026 s
                
              
              
              
                
                  RUNTIME ERROR,
                  tested program terminated unexpectedly
                
                
              
            
                    
                      stderr:
                      
                Invalid result type, int expected.stdout:
3
          Analysis 
          
            
          
        
        
          
  
  
  
        
          expand all 
        
        Example tests
      
      
        
        
                1.
              
              
              
                
                  0.025 s
                
              
              
              
                
                  RUNTIME ERROR,
                  tested program terminated unexpectedly
                
                
              
            
                    
                      stderr:
                      
                Invalid result type, int expected.stdout:
3
          Analysis 
          
            
          
        
        
          
  
  
  
        
          expand all 
        
        Example tests
      
      
        
        
                1.
              
              
              
                
                  0.025 s
                
              
              
              
                
                  RUNTIME ERROR,
                  tested program terminated unexpectedly
                
                
              
            
                    
                      stderr:
                      
                Invalid result type, int expected.stdout:
3
        
          expand all 
        
        User tests
      
      
        
        
                1.
              
              
              
                
                  0.024 s
                
              
              
              
                
                  RUNTIME ERROR,
                  tested program terminated unexpectedly
                
                
              
            
                    
                      stderr:
                      
                Invalid result type, int expected.stdout:
6
                      User test case 1:
                      
                  
                  
                
              [10, 180, 30]
        Code: 11:09:51 UTC,
        
          php,
        
        
          verify,
          
            
              result: Failed
            
          
          
        
      
      
      
      
    
          Analysis 
          
            
          
        
        
          
  
  
  
        
          expand all 
        
        Example tests
      
      
        
        
                1.
              
              
              
                
                  0.025 s
                
              
              
              
                
                  RUNTIME ERROR,
                  tested program terminated unexpectedly
                
                
              
            
                    
                      stderr:
                      
                Invalid result type, int expected.stdout:
3
        
          expand all 
        
        User tests
      
      
        
        
                1.
              
              
              
                
                  0.024 s
                
              
              
              
                
                  RUNTIME ERROR,
                  tested program terminated unexpectedly
                
                
              
            
                    
                      stderr:
                      
                Invalid result type, int expected.stdout:
6
                      User test case 1:
                      
                  
                  
                
              [10, 180, 30]
          Analysis 
          
            
          
        
        
          
  
  
  
                      User test case 1:
                      
                  
                  
                
              [10, 180, 30]
        Code: 11:12:18 UTC,
        
          php,
        
        
          verify,
          
            
              result: Passed
            
          
          
        
      
      
      
      
    
          Analysis 
          
            
          
        
        
          
  
  
  
                      User test case 1:
                      
                  
                  
                
              [10, 180, 30]
        Code: 11:12:38 UTC,
        
          php,
        
        
          verify,
          
            
              result: Passed
            
          
          
        
      
      
      
      
    
          Analysis 
          
            
          
        
        
          
  
  
  
                      User test case 1:
                      
                  
                  
                
              [10, 180, 30]
        Code: 11:12:50 UTC,
        
          php,
        
        
          verify,
          
            
              result: Passed
            
          
          
        
      
      
      
      
    
          Analysis 
          
            
          
        
        
          
  
  
  
                      User test case 1:
                      
                  
                  
                
              [10, 180, 30]
        Code: 11:23:39 UTC,
        
          php,
        
        
          verify,
          
            
              result: Passed
            
          
          
        
      
      
      
      
    
          Analysis 
          
            
          
        
        
          
  
  
  
                      User test case 1:
                      
                  
                  
                
              [5, 85, 30]
        Code: 11:23:53 UTC,
        
          php,
        
        
          verify,
          
            
              result: Passed
            
          
          
        
      
      
      
      
    
          Analysis 
          
            
          
        
        
          
  
  
  
                      User test case 1:
                      
                  
                  
                
              [5, 85, 30]
        Code: 11:24:00 UTC,
        
          php,
        
        
          verify,
          
            
              result: Passed
            
          
          
        
      
      
      
      
    
          Analysis 
          
            
          
        
        
          
  
  
  
                      User test case 1:
                      
                  
                  
                
              [4, 85, 30]
        Code: 11:24:11 UTC,
        
          php,
        
        
          verify,
          
            
              result: Passed
            
          
          
        
      
      
      
      
    
          Analysis 
          
            
          
        
        
          
  
  
  
                      User test case 1:
                      
                  
                  
                
              [3, 85, 30]
        Code: 11:24:23 UTC,
        
          php,
        
        
          verify,
          
            
              result: Passed
            
          
          
        
      
      
      
      
    
          Analysis 
          
            
          
        
        
          
  
  
  
                      User test case 1:
                      
                  
                  
                
              [0, 85, 30]
        Code: 11:24:31 UTC,
        
          php,
        
        
          verify,
          
            
              result: Passed
            
          
          
        
      
      
      
      
    
          Analysis 
          
            
          
        
        
          
  
  
  
                      User test case 1:
                      
                  
                  
                
              [0, 80, 30]
        Code: 11:24:38 UTC,
        
          php,
        
        
          verify,
          
            
              result: Passed
            
          
          
        
      
      
      
      
    
          Analysis 
          
            
          
        
        
          
  
  
  
                      User test case 1:
                      
                  
                  
                
              [0, 90, 30]
        Code: 11:24:47 UTC,
        
          php,
        
        
          verify,
          
            
              result: Passed
            
          
          
        
      
      
      
      
    
          Analysis 
          
            
          
        
        
          
  
  
  
                      User test case 1:
                      
                  
                  
                
              [5, 90, 30]
        Code: 11:25:02 UTC,
        
          php,
        
        
          verify,
          
            
              result: Passed
            
          
          
        
      
      
      
      
    
          Analysis 
          
            
          
        
        
          
  
  
  
                      User test case 1:
                      
                  
                  
                
              [5, 90, 31]
        Code: 11:27:15 UTC,
        
          php,
        
        
          verify,
          
            
              result: Passed
            
          
          
        
      
      
      
      
    
          Analysis 
          
            
          
        
        
          
  
  
  
                      User test case 1:
                      
                  
                  
                
              [80, 90, 31]
        Code: 11:27:32 UTC,
        
          php,
        
        
          verify,
          
            
              result: Passed
            
          
          
        
      
      
      
      
    
          Analysis 
          
            
          
        
        
          
  
  
  
                      User test case 1:
                      
                  
                  
                
              [80, 90, 31]
        Code: 11:29:36 UTC,
        
          php,
        
        
          verify,
          
            
              result: Passed
            
          
          
        
      
      
      
      
    
          Analysis 
          
            
          
        
        
          
  
  
  
                      User test case 1:
                      
                  
                  
                
              [80, 90, 31]
        Code: 11:29:44 UTC,
        
          php,
        
        
          verify,
          
            
              result: Passed
            
          
          
        
      
      
      
      
    
          Analysis 
          
            
          
        
        
          
  
  
  
                      User test case 1:
                      
                  
                  
                
              [80, 90, 30]
        Code: 11:30:31 UTC,
        
          php,
        
        
          verify,
          
            
              result: Passed
            
          
          
        
      
      
      
      
    
          Analysis 
          
            
          
        
        
          
  
  
  
                      User test case 1:
                      
                  
                  
                
              [80, 90, 30]
        Code: 11:31:05 UTC,
        
          php,
        
        
          verify,
          
            
              result: Passed
            
          
          
        
      
      
      
      
    
          Analysis 
          
            
          
        
        
          
  
  
  
                      User test case 1:
                      
                  
                  
                
              [80, 90, 30]
        Code: 11:31:08 UTC,
        
          php,
        
        
          final,
          
            score: 
              
                100
              
              
          
          
        
      
      
      
      
    Analysis summary
            
  The solution obtained perfect score.
          Analysis 
          
            
          
        
        
          
  
    
      Detected time complexity:
        
          O(1)