Skip to content

ไนฑๆ•ฐ

Kasugaccho edited this page Mar 8, 2019 · 2 revisions

ไนฑๆ•ฐ็”Ÿๆˆ

ไนฑๆ•ฐใ‚’็”Ÿๆˆใ™ใ‚‹(32bit)

std::uint_fast32_t dtl::random::mersenne_twister_32bit();

ไพ‹

#include <iostream>
#include "DTL.hpp"

int main() {

	for (int i{}; i < 10; ++i)
		std::cout << dtl::random::mersenne_twister_32bit() << std::endl;

	return 0;
}

ๅ‡บๅŠ›ไพ‹

875639570
3539211287
688681168
3806140501
157396773
729477269
2014359681
306063025
4211512868
3067440185

0ใ‹ใ‚‰(n-1)ใพใงใฎ็ฏ„ๅ›ฒใฎไนฑๆ•ฐใ‚’็”Ÿๆˆใ™ใ‚‹(32bit)

std::int_fast32_t dtl::random::mersenne_twister_32bit(std::int_fast32_t n);

ไพ‹

#include <iostream>
#include "DTL.hpp"

int main() {

	for (int i{}; i < 10; ++i)
		std::cout << dtl::random::mersenne_twister_32bit(6) << std::endl;

	return 0;
}

ๅ‡บๅŠ›ไพ‹

2
3
0
4
1
5
1
5
3
4

startใ‹ใ‚‰endใพใงใฎ็ฏ„ๅ›ฒใฎไนฑๆ•ฐใ‚’็”Ÿๆˆใ™ใ‚‹(32bit)

std::int_fast32_t dtl::random::mersenne_twister_32bit(std::int_fast32_t start, std::int_fast32_t end);

ไพ‹

#include <iostream>
#include "DTL.hpp"

int main() {

	for (int i{}; i < 10; ++i)
		std::cout << dtl::random::mersenne_twister_32bit(0, 4) << std::endl;

	return 0;
}

ๅ‡บๅŠ›ไพ‹

3
4
2
0
0
1
4
2
4
3

0.5(50%)ใฎ็ขบ็އใงtrueใŒๅ‡บใ‚‹ไนฑๆ•ฐ

bool dtl::random::mersenne_twister_32bit.probability();

ไพ‹

#include <iostream>
#include "DTL.hpp"

int main() {

	for (int i{}; i < 10; ++i)
		std::cout << dtl::random::mersenne_twister_32bit.probability() << std::endl;

	return 0;
}

ๅ‡บๅŠ›ไพ‹

1
0
1
0
0
1
1
1
0
0

nใฎ็ขบ็އใงtrueใŒๅ‡บใ‚‹ไนฑๆ•ฐ

bool dtl::random::mersenne_twister_32bit.probability(double n);

ไพ‹

#include <iostream>
#include "DTL.hpp"

int main() {

	for (int i{}; i < 10; ++i)
		std::cout << dtl::random::mersenne_twister_32bit.probability(0.7) << std::endl;

	return 0;
}

ๅ‡บๅŠ›ไพ‹

1
0
1
1
0
0
1
1
1
1

SEEDใฎๅค‰ๆ›ด(่‡ชๅ‹•)

void dtl::random::mersenne_twister_32bit.seed();

SEEDใฎๅค‰ๆ›ด(ๆ‰‹ๅ‹•)

void dtl::random::mersenne_twister_32bit.seed(std::uint_fast32_t seed);

ๅฝ“่จ˜ไบ‹ใฎใƒฉใ‚คใ‚ปใƒณใ‚น

CC0

Clone this wiki locally