Your browser (Unknown 0) is no longer supported. Some parts of the website may not work correctly. Please update your browser.

AVAILABLE LESSONS:

Lesson 1

Iterations

Lesson 2

Arrays

Lesson 3

Time Complexity

Lesson 4

Counting Elements

Lesson 5

Prefix Sums

Lesson 6

Sorting

Lesson 7

Stacks and Queues

Lesson 8

Leader

Lesson 9

Maximum slice problem

Lesson 10

Prime and composite numbers

Lesson 11

Sieve of Eratosthenes

Lesson 12

Euclidean algorithm

Lesson 13

Fibonacci numbers

Lesson 14

Binary search algorithm

Lesson 15

Caterpillar method

Lesson 16

Greedy algorithms

Lesson 17

Dynamic programming

Find the minimal perimeter of any rectangle whose area equals N.

Spoken language:

An integer N is given, representing the area of some rectangle.

The *area* of a rectangle whose sides are of length A and B is A * B, and the *perimeter* is 2 * (A + B).

The goal is to find the minimal perimeter of any rectangle whose area equals N. The sides of this rectangle should be only integers.

For example, given integer N = 30, rectangles of area 30 are:

- (1, 30), with a perimeter of 62,
- (2, 15), with a perimeter of 34,
- (3, 10), with a perimeter of 26,
- (5, 6), with a perimeter of 22.

Write a function:

int solution(int N);

that, given an integer N, returns the minimal perimeter of any rectangle whose area is exactly equal to N.

For example, given an integer N = 30, the function should return 22, as explained above.

Write an ** efficient** algorithm for the following assumptions:

- N is an integer within the range [1..1,000,000,000].

Copyright 2009–2023 by Codility Limited. All Rights Reserved. Unauthorized copying, publication or disclosure prohibited.

An integer N is given, representing the area of some rectangle.

The *area* of a rectangle whose sides are of length A and B is A * B, and the *perimeter* is 2 * (A + B).

The goal is to find the minimal perimeter of any rectangle whose area equals N. The sides of this rectangle should be only integers.

For example, given integer N = 30, rectangles of area 30 are:

- (1, 30), with a perimeter of 62,
- (2, 15), with a perimeter of 34,
- (3, 10), with a perimeter of 26,
- (5, 6), with a perimeter of 22.

Write a function:

int solution(int N);

that, given an integer N, returns the minimal perimeter of any rectangle whose area is exactly equal to N.

For example, given an integer N = 30, the function should return 22, as explained above.

Write an ** efficient** algorithm for the following assumptions:

- N is an integer within the range [1..1,000,000,000].

Copyright 2009–2023 by Codility Limited. All Rights Reserved. Unauthorized copying, publication or disclosure prohibited.

An integer N is given, representing the area of some rectangle.

The *area* of a rectangle whose sides are of length A and B is A * B, and the *perimeter* is 2 * (A + B).

The goal is to find the minimal perimeter of any rectangle whose area equals N. The sides of this rectangle should be only integers.

For example, given integer N = 30, rectangles of area 30 are:

- (1, 30), with a perimeter of 62,
- (2, 15), with a perimeter of 34,
- (3, 10), with a perimeter of 26,
- (5, 6), with a perimeter of 22.

Write a function:

int solution(int N);

that, given an integer N, returns the minimal perimeter of any rectangle whose area is exactly equal to N.

For example, given an integer N = 30, the function should return 22, as explained above.

Write an ** efficient** algorithm for the following assumptions:

- N is an integer within the range [1..1,000,000,000].

Copyright 2009–2023 by Codility Limited. All Rights Reserved. Unauthorized copying, publication or disclosure prohibited.

An integer N is given, representing the area of some rectangle.

*area* of a rectangle whose sides are of length A and B is A * B, and the *perimeter* is 2 * (A + B).

For example, given integer N = 30, rectangles of area 30 are:

- (1, 30), with a perimeter of 62,
- (2, 15), with a perimeter of 34,
- (3, 10), with a perimeter of 26,
- (5, 6), with a perimeter of 22.

Write a function:

class Solution { public int solution(int N); }

For example, given an integer N = 30, the function should return 22, as explained above.

Write an ** efficient** algorithm for the following assumptions:

- N is an integer within the range [1..1,000,000,000].

An integer N is given, representing the area of some rectangle.

*area* of a rectangle whose sides are of length A and B is A * B, and the *perimeter* is 2 * (A + B).

For example, given integer N = 30, rectangles of area 30 are:

- (1, 30), with a perimeter of 62,
- (2, 15), with a perimeter of 34,
- (3, 10), with a perimeter of 26,
- (5, 6), with a perimeter of 22.

Write a function:

func Solution(N int) int

For example, given an integer N = 30, the function should return 22, as explained above.

Write an ** efficient** algorithm for the following assumptions:

- N is an integer within the range [1..1,000,000,000].

An integer N is given, representing the area of some rectangle.

*area* of a rectangle whose sides are of length A and B is A * B, and the *perimeter* is 2 * (A + B).

For example, given integer N = 30, rectangles of area 30 are:

- (1, 30), with a perimeter of 62,
- (2, 15), with a perimeter of 34,
- (3, 10), with a perimeter of 26,
- (5, 6), with a perimeter of 22.

Write a function:

class Solution { public int solution(int N); }

For example, given an integer N = 30, the function should return 22, as explained above.

Write an ** efficient** algorithm for the following assumptions:

- N is an integer within the range [1..1,000,000,000].

An integer N is given, representing the area of some rectangle.

*area* of a rectangle whose sides are of length A and B is A * B, and the *perimeter* is 2 * (A + B).

For example, given integer N = 30, rectangles of area 30 are:

- (1, 30), with a perimeter of 62,
- (2, 15), with a perimeter of 34,
- (3, 10), with a perimeter of 26,
- (5, 6), with a perimeter of 22.

Write a function:

class Solution { public int solution(int N); }

For example, given an integer N = 30, the function should return 22, as explained above.

Write an ** efficient** algorithm for the following assumptions:

- N is an integer within the range [1..1,000,000,000].

An integer N is given, representing the area of some rectangle.

*area* of a rectangle whose sides are of length A and B is A * B, and the *perimeter* is 2 * (A + B).

For example, given integer N = 30, rectangles of area 30 are:

- (1, 30), with a perimeter of 62,
- (2, 15), with a perimeter of 34,
- (3, 10), with a perimeter of 26,
- (5, 6), with a perimeter of 22.

Write a function:

function solution(N);

For example, given an integer N = 30, the function should return 22, as explained above.

Write an ** efficient** algorithm for the following assumptions:

- N is an integer within the range [1..1,000,000,000].

An integer N is given, representing the area of some rectangle.

*area* of a rectangle whose sides are of length A and B is A * B, and the *perimeter* is 2 * (A + B).

For example, given integer N = 30, rectangles of area 30 are:

- (1, 30), with a perimeter of 62,
- (2, 15), with a perimeter of 34,
- (3, 10), with a perimeter of 26,
- (5, 6), with a perimeter of 22.

Write a function:

fun solution(N: Int): Int

For example, given an integer N = 30, the function should return 22, as explained above.

Write an ** efficient** algorithm for the following assumptions:

- N is an integer within the range [1..1,000,000,000].

An integer N is given, representing the area of some rectangle.

*area* of a rectangle whose sides are of length A and B is A * B, and the *perimeter* is 2 * (A + B).

For example, given integer N = 30, rectangles of area 30 are:

- (1, 30), with a perimeter of 62,
- (2, 15), with a perimeter of 34,
- (3, 10), with a perimeter of 26,
- (5, 6), with a perimeter of 22.

Write a function:

function solution(N)

For example, given an integer N = 30, the function should return 22, as explained above.

Write an ** efficient** algorithm for the following assumptions:

- N is an integer within the range [1..1,000,000,000].

An integer N is given, representing the area of some rectangle.

*area* of a rectangle whose sides are of length A and B is A * B, and the *perimeter* is 2 * (A + B).

For example, given integer N = 30, rectangles of area 30 are:

- (1, 30), with a perimeter of 62,
- (2, 15), with a perimeter of 34,
- (3, 10), with a perimeter of 26,
- (5, 6), with a perimeter of 22.

Write a function:

int solution(int N);

For example, given an integer N = 30, the function should return 22, as explained above.

Write an ** efficient** algorithm for the following assumptions:

- N is an integer within the range [1..1,000,000,000].

An integer N is given, representing the area of some rectangle.

*area* of a rectangle whose sides are of length A and B is A * B, and the *perimeter* is 2 * (A + B).

For example, given integer N = 30, rectangles of area 30 are:

- (1, 30), with a perimeter of 62,
- (2, 15), with a perimeter of 34,
- (3, 10), with a perimeter of 26,
- (5, 6), with a perimeter of 22.

Write a function:

function solution(N: longint): longint;

For example, given an integer N = 30, the function should return 22, as explained above.

Write an ** efficient** algorithm for the following assumptions:

- N is an integer within the range [1..1,000,000,000].

An integer N is given, representing the area of some rectangle.

*area* of a rectangle whose sides are of length A and B is A * B, and the *perimeter* is 2 * (A + B).

For example, given integer N = 30, rectangles of area 30 are:

- (1, 30), with a perimeter of 62,
- (2, 15), with a perimeter of 34,
- (3, 10), with a perimeter of 26,
- (5, 6), with a perimeter of 22.

Write a function:

function solution($N);

For example, given an integer N = 30, the function should return 22, as explained above.

Write an ** efficient** algorithm for the following assumptions:

- N is an integer within the range [1..1,000,000,000].

An integer N is given, representing the area of some rectangle.

*area* of a rectangle whose sides are of length A and B is A * B, and the *perimeter* is 2 * (A + B).

For example, given integer N = 30, rectangles of area 30 are:

- (1, 30), with a perimeter of 62,
- (2, 15), with a perimeter of 34,
- (3, 10), with a perimeter of 26,
- (5, 6), with a perimeter of 22.

Write a function:

sub solution { my ($N)=@_; ... }

For example, given an integer N = 30, the function should return 22, as explained above.

Write an ** efficient** algorithm for the following assumptions:

- N is an integer within the range [1..1,000,000,000].

An integer N is given, representing the area of some rectangle.

*area* of a rectangle whose sides are of length A and B is A * B, and the *perimeter* is 2 * (A + B).

For example, given integer N = 30, rectangles of area 30 are:

- (1, 30), with a perimeter of 62,
- (2, 15), with a perimeter of 34,
- (3, 10), with a perimeter of 26,
- (5, 6), with a perimeter of 22.

Write a function:

def solution(N)

For example, given an integer N = 30, the function should return 22, as explained above.

Write an ** efficient** algorithm for the following assumptions:

- N is an integer within the range [1..1,000,000,000].

An integer N is given, representing the area of some rectangle.

*area* of a rectangle whose sides are of length A and B is A * B, and the *perimeter* is 2 * (A + B).

For example, given integer N = 30, rectangles of area 30 are:

- (1, 30), with a perimeter of 62,
- (2, 15), with a perimeter of 34,
- (3, 10), with a perimeter of 26,
- (5, 6), with a perimeter of 22.

Write a function:

def solution(n)

For example, given an integer N = 30, the function should return 22, as explained above.

Write an ** efficient** algorithm for the following assumptions:

- N is an integer within the range [1..1,000,000,000].

An integer N is given, representing the area of some rectangle.

*area* of a rectangle whose sides are of length A and B is A * B, and the *perimeter* is 2 * (A + B).

For example, given integer N = 30, rectangles of area 30 are:

- (1, 30), with a perimeter of 62,
- (2, 15), with a perimeter of 34,
- (3, 10), with a perimeter of 26,
- (5, 6), with a perimeter of 22.

Write a function:

object Solution { def solution(n: Int): Int }

For example, given an integer N = 30, the function should return 22, as explained above.

Write an ** efficient** algorithm for the following assumptions:

- N is an integer within the range [1..1,000,000,000].

An integer N is given, representing the area of some rectangle.

*area* of a rectangle whose sides are of length A and B is A * B, and the *perimeter* is 2 * (A + B).

For example, given integer N = 30, rectangles of area 30 are:

- (1, 30), with a perimeter of 62,
- (2, 15), with a perimeter of 34,
- (3, 10), with a perimeter of 26,
- (5, 6), with a perimeter of 22.

Write a function:

public func solution(_ N : Int) -> Int

For example, given an integer N = 30, the function should return 22, as explained above.

Write an ** efficient** algorithm for the following assumptions:

- N is an integer within the range [1..1,000,000,000].

An integer N is given, representing the area of some rectangle.

*area* of a rectangle whose sides are of length A and B is A * B, and the *perimeter* is 2 * (A + B).

For example, given integer N = 30, rectangles of area 30 are:

- (1, 30), with a perimeter of 62,
- (2, 15), with a perimeter of 34,
- (3, 10), with a perimeter of 26,
- (5, 6), with a perimeter of 22.

Write a function:

function solution(N: number): number;

For example, given an integer N = 30, the function should return 22, as explained above.

Write an ** efficient** algorithm for the following assumptions:

- N is an integer within the range [1..1,000,000,000].

An integer N is given, representing the area of some rectangle.

*area* of a rectangle whose sides are of length A and B is A * B, and the *perimeter* is 2 * (A + B).

For example, given integer N = 30, rectangles of area 30 are:

- (1, 30), with a perimeter of 62,
- (2, 15), with a perimeter of 34,
- (3, 10), with a perimeter of 26,
- (5, 6), with a perimeter of 22.

Write a function:

Private Function solution(N As Integer) As Integer

For example, given an integer N = 30, the function should return 22, as explained above.

Write an ** efficient** algorithm for the following assumptions:

- N is an integer within the range [1..1,000,000,000].