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–2024 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
Task timeline
Code: 10:55:49 UTC,
php,
verify,
result: Failed
Analysis
expand all
Example tests
1.
0.022 s
RUNTIME ERROR,
tested program terminated unexpectedly
stderr:
Invalid result type, int expected.
Code: 11:03:50 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.
Code: 11:04:14 UTC,
php,
verify,
result: Failed
Analysis
expand all
Example tests
1.
0.026 s
RUNTIME ERROR,
tested program terminated unexpectedly
stderr:
Invalid result type, int expected.stdout:
3
Code: 11:05:10 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
Code: 11:05:37 UTC,
php,
verify,
result: Failed
// you can use print for debugging purposes, e.g.
// print "this is a debug message\n";
function solution($X, $Y, $D) {
$r=0;
if($Y>$X)
{
$r=($Y-$X)/$D;
if(($X+($r*$D)) < $Y)
$r++;
}
echo intval(round($r));
}
User test case 1:
[10, 180, 30]
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
Code: 11:09:51 UTC,
php,
verify,
result: Failed
// you can use print for debugging purposes, e.g.
// print "this is a debug message\n";
function solution($X, $Y, $D) {
$r=0;
if($Y>$X)
{
$r=($Y-$X)/$D;
$r=round($r);
if(($X+($r*$D)) < $Y)
$r++;
}
echo intval(round($r));
}
User test case 1:
[10, 180, 30]
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
Code: 11:11:38 UTC,
php,
verify,
result: Passed
// you can use print for debugging purposes, e.g.
// print "this is a debug message\n";
function solution($X, $Y, $D) {
$left = ($Y - $X) / $D;
return $left <> intval($left) ? intval($left + 1) : intval($left);
}
User test case 1:
[10, 180, 30]
Analysis
Code: 11:12:18 UTC,
php,
verify,
result: Passed
// you can use print for debugging purposes, e.g.
// print "this is a debug message\n";
function solution($X, $Y, $D) {
$r=0;
if($Y>$X)
{
$r=($Y-$X)/$D;
$r=round($r);
if(($X+($r*$D)) < $Y)
$r++;
}
return intval(round($r));
}
User test case 1:
[10, 180, 30]
Analysis
Code: 11:12:38 UTC,
php,
verify,
result: Passed
// you can use print for debugging purposes, e.g.
// print "this is a debug message\n";
function solution($X, $Y, $D) {
$r=0;
if($Y>$X)
{
$r=($Y-$X)/$D;
//$r=round($r);
if(($X+($r*$D)) < $Y)
$r++;
}
return intval(round($r));
}
User test case 1:
[10, 180, 30]
Analysis
Code: 11:12:50 UTC,
php,
verify,
result: Passed
// you can use print for debugging purposes, e.g.
// print "this is a debug message\n";
function solution($X, $Y, $D) {
$r=0;
if($Y>$X)
{
$r=($Y-$X)/$D;
if(($X+($r*$D)) < $Y)
$r++;
}
return intval(round($r));
}
User test case 1:
[10, 180, 30]
Analysis
Code: 11:23:39 UTC,
php,
verify,
result: Passed
// you can use print for debugging purposes, e.g.
// print "this is a debug message\n";
function solution($X, $Y, $D) {
$r=0;
if($Y>$X)
{
$r=($Y-$X)/$D;
if(($X+($r*$D)) < $Y)
$r++;
}
return intval(round($r));
}
User test case 1:
[5, 85, 30]
Analysis
Code: 11:23:53 UTC,
php,
verify,
result: Passed
// you can use print for debugging purposes, e.g.
// print "this is a debug message\n";
function solution($X, $Y, $D) {
$r=0;
if($Y>$X)
{
$r=($Y-$X)/$D;
//if(($X+($r*$D)) < $Y)
//$r++;
}
return intval(round($r));
}
User test case 1:
[5, 85, 30]
Analysis
Code: 11:24:00 UTC,
php,
verify,
result: Passed
// you can use print for debugging purposes, e.g.
// print "this is a debug message\n";
function solution($X, $Y, $D) {
$r=0;
if($Y>$X)
{
$r=($Y-$X)/$D;
//if(($X+($r*$D)) < $Y)
//$r++;
}
return intval(round($r));
}
User test case 1:
[4, 85, 30]
Analysis
Code: 11:24:11 UTC,
php,
verify,
result: Passed
// you can use print for debugging purposes, e.g.
// print "this is a debug message\n";
function solution($X, $Y, $D) {
$r=0;
if($Y>$X)
{
$r=($Y-$X)/$D;
//if(($X+($r*$D)) < $Y)
//$r++;
}
return intval(round($r));
}
User test case 1:
[3, 85, 30]
Analysis
Code: 11:24:23 UTC,
php,
verify,
result: Passed
// you can use print for debugging purposes, e.g.
// print "this is a debug message\n";
function solution($X, $Y, $D) {
$r=0;
if($Y>$X)
{
$r=($Y-$X)/$D;
//if(($X+($r*$D)) < $Y)
//$r++;
}
return intval(round($r));
}
User test case 1:
[0, 85, 30]
Analysis
Code: 11:24:31 UTC,
php,
verify,
result: Passed
// you can use print for debugging purposes, e.g.
// print "this is a debug message\n";
function solution($X, $Y, $D) {
$r=0;
if($Y>$X)
{
$r=($Y-$X)/$D;
//if(($X+($r*$D)) < $Y)
//$r++;
}
return intval(round($r));
}
User test case 1:
[0, 80, 30]
Analysis
Code: 11:24:38 UTC,
php,
verify,
result: Passed
// you can use print for debugging purposes, e.g.
// print "this is a debug message\n";
function solution($X, $Y, $D) {
$r=0;
if($Y>$X)
{
$r=($Y-$X)/$D;
//if(($X+($r*$D)) < $Y)
//$r++;
}
return intval(round($r));
}
User test case 1:
[0, 90, 30]
Analysis
Code: 11:24:47 UTC,
php,
verify,
result: Passed
// you can use print for debugging purposes, e.g.
// print "this is a debug message\n";
function solution($X, $Y, $D) {
$r=0;
if($Y>$X)
{
$r=($Y-$X)/$D;
//if(($X+($r*$D)) < $Y)
//$r++;
}
return intval(round($r));
}
User test case 1:
[5, 90, 30]
Analysis
Code: 11:25:02 UTC,
php,
verify,
result: Passed
// you can use print for debugging purposes, e.g.
// print "this is a debug message\n";
function solution($X, $Y, $D) {
$r=0;
if($Y>$X)
{
$r=($Y-$X)/$D;
//if(($X+($r*$D)) < $Y)
//$r++;
}
return intval(round($r));
}
User test case 1:
[5, 90, 31]
Analysis
Code: 11:27:15 UTC,
php,
verify,
result: Passed
// you can use print for debugging purposes, e.g.
// print "this is a debug message\n";
function solution($X, $Y, $D) {
$r=0;
if($Y>$X)
{
$r=($Y-$X)/$D;
//if(($X+($r*$D)) < $Y)
//$r++;
}
return intval(round($r));
}
User test case 1:
[80, 90, 31]
Analysis
Code: 11:27:32 UTC,
php,
verify,
result: Passed
// you can use print for debugging purposes, e.g.
// print "this is a debug message\n";
function solution($X, $Y, $D) {
$r=0;
if($Y>$X)
{
$r=($Y-$X)/$D;
if(($X+($r*$D)) < $Y)
$r++;
}
return intval(round($r));
}
User test case 1:
[80, 90, 31]
Analysis
Code: 11:29:36 UTC,
php,
verify,
result: Passed
// you can use print for debugging purposes, e.g.
// print "this is a debug message\n";
function solution($X, $Y, $D) {
$r=0;
if($Y>$X)
{
$r=($Y-$X)/$D;
if(($X+($r*$D)) < $Y)
$r++;
}
return intval(round($r));
}
User test case 1:
[80, 90, 31]
Analysis
Code: 11:29:44 UTC,
php,
verify,
result: Passed
// you can use print for debugging purposes, e.g.
// print "this is a debug message\n";
function solution($X, $Y, $D) {
$r=0;
if($Y>$X)
{
$r=($Y-$X)/$D;
if(($X+($r*$D)) < $Y)
$r++;
}
return intval(round($r));
}
User test case 1:
[80, 90, 30]
Analysis
Code: 11:30:31 UTC,
php,
verify,
result: Passed
// you can use print for debugging purposes, e.g.
// print "this is a debug message\n";
function solution($X, $Y, $D) {
$r=0;
if($Y>$X)
{
$r=($Y-$X)/$D;
$r=floor($r);
if(($X+($r*$D)) < $Y)
$r++;
}
return intval(floor($r));
}
User test case 1:
[80, 90, 30]
Analysis
Code: 11:31:05 UTC,
php,
verify,
result: Passed
// you can use print for debugging purposes, e.g.
// print "this is a debug message\n";
function solution($X, $Y, $D) {
$r=0;
if($Y>$X)
{
$r=($Y-$X)/$D;
$r=floor($r);
if(($X+($r*$D)) < $Y)
$r++;
}
return intval(floor($r));
}
User test case 1:
[80, 90, 30]
Analysis
Code: 11:31:08 UTC,
php,
final,
score: 
100
Analysis summary
The solution obtained perfect score.
Analysis
Detected time complexity:
O(1)