첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
------------------------------------------------------------------------------------------------------------------------------------------------------
728x90
728x170

■ 선형 합동법 알고리즘을 사용해 난수를 생성하는 방법을 보여준다.

 

▶ 예제 코드 (RS)

use std::num::Wrapping;

fn get_seed(seed : &mut u32) -> u32
{
    let (a, c) = (134775813u32, 12345u32);

    *seed = (Wrapping(*seed) * Wrapping(a) + Wrapping(c)).0;

    return *seed;
}

fn get_random_value(seed : &mut u32, minimum_value : u32, maximum_value : u32) -> u32
{
    let random_value : u32 = get_seed(seed) % (maximum_value - minimum_value + 1) + minimum_value;

    return random_value;
}

fn main()
{
    let mut seed : u32 = 12345u32;

    for i in 0..10
    {
        let random_value : u32 = get_random_value(&mut seed, 1, 10);

        println!("{}, {}", i + 1, random_value);
    }
}

/*
1, 9
2, 2
3, 1
4, 2
5, 5
6, 2
7, 9
8, 6
9, 7
10, 4
*/
728x90
그리드형(광고전용)
Posted by icodebroker
,