project_euler_lib 0.1.6

A library for project euler
Documentation
//this function get a u64 number and return a boolean variable.
//this fucntion return false for numbers bellow 2
pub fn is_prime(number: i32) -> bool {
    let mut is_prime: bool = true;
    if number < 2 {
        is_prime = false;
    }else{
        //first of all we define square root of number
        let square_root: i32 = (number as f64).sqrt().floor() as i32;

        //itration over 2 to square_root of number by 2-step to find any devisible number
        for i in 2..=square_root{
            if number % i == 0{ //if found any devisible number
                is_prime = false; //set is prime variable to false and break
                break
            }
        }
    }
    is_prime //finaly return is_prime variable
}

//this fucntion find gcd between two numbers
pub fn gcd(mut param1: i64, mut param2: i64) -> i64{
    //who's parameter is biiger??
    if param2 > param1 {//if param2 is bigger than param1 we change are togther
        let temp: i64 =param1;
        param1 = param2;
        param2 = temp;
    }

    loop{
        let reminder: i64 = param1 % param2;
        if reminder == 0 {
            break
        }
        param1 = param2;
        param2 = reminder;

    }
    param2 // return param2
}

//this function return the lcm of two numbers, by useing the gcd function
pub fn lcm(p1: i64, p2: i64) -> i64 {
    return (p1 * p2) / gcd(p1, p2)
}