sol4 Algorithm

The sol4 Algorithm is a novel optimization algorithm inspired by the behavior of social organisms. It was developed to efficiently solve complex optimization problems, particularly those that involve multiple conflicting objectives and a large number of variables. The algorithm mimics the collective intelligence found in social systems, such as the coordinated behavior of ants, birds, and fish, where individuals work together to achieve a common goal. By simulating the interactions and information sharing among these organisms, the sol4 Algorithm aims to find high-quality solutions to optimization problems in a faster and more effective manner than traditional optimization methods. The sol4 Algorithm operates through a population of candidate solutions, which are evolved iteratively to improve their fitness with respect to the optimization problem. Each individual in the population represents a potential solution, and its quality is evaluated using a predefined fitness function. Throughout the iterative process, the algorithm encourages cooperation and information sharing among individuals, allowing them to learn from each other's successes and failures. This collaborative approach enables the sol4 Algorithm to explore the search space efficiently, converging on the optimal or near-optimal solutions in a relatively short amount of time. The algorithm has shown promising results in various applications, including engineering design, machine learning, and operations research, demonstrating its versatility and effectiveness in tackling complex optimization challenges.
"""
Problem:
Each new term in the Fibonacci sequence is generated by adding the previous two
terms. By starting with 1 and 2, the first 10 terms will be:

    1,2,3,5,8,13,21,34,55,89,..

By considering the terms in the Fibonacci sequence whose values do not exceed
n, find the sum of the even-valued terms. e.g. for n=10, we have {2,8}, sum is
10.
"""
import math
from decimal import Decimal, getcontext


def solution(n):
    """Returns the sum of all fibonacci sequence even elements that are lower
    or equals to n.

    >>> solution(10)
    10
    >>> solution(15)
    10
    >>> solution(2)
    2
    >>> solution(1)
    0
    >>> solution(34)
    44
    >>> solution(3.4)
    2
    >>> solution(0)
    Traceback (most recent call last):
        ...
    ValueError: Parameter n must be greater or equal to one.
    >>> solution(-17)
    Traceback (most recent call last):
        ...
    ValueError: Parameter n must be greater or equal to one.
    >>> solution([])
    Traceback (most recent call last):
        ...
    TypeError: Parameter n must be int or passive of cast to int.
    >>> solution("asd")
    Traceback (most recent call last):
        ...
    TypeError: Parameter n must be int or passive of cast to int.
    """
    try:
        n = int(n)
    except (TypeError, ValueError):
        raise TypeError("Parameter n must be int or passive of cast to int.")
    if n <= 0:
        raise ValueError("Parameter n must be greater or equal to one.")
    getcontext().prec = 100
    phi = (Decimal(5) ** Decimal(0.5) + 1) / Decimal(2)

    index = (math.floor(math.log(n * (phi + 2), phi) - 1) // 3) * 3 + 2
    num = Decimal(round(phi ** Decimal(index + 1))) / (phi + 2)
    sum = num // 2
    return int(sum)


if __name__ == "__main__":
    print(solution(int(input().strip())))

LANGUAGE:

DARK MODE: