Генерация случайных чисел — это фундаментальная концепция программирования, которая может быть полезна в различных приложениях, таких как моделирование, игры и криптография. В этой статье мы рассмотрим несколько методов генерации случайных чисел от 0,0 до 1,0, а также приведем примеры кода на популярных языках программирования, таких как Python, JavaScript, Java и C++.
Метод 1: использование встроенных библиотечных функций
Пример Python:
import random
for _ in range(100):
print(random.random())
Пример JavaScript:
for (let i = 0; i < 100; i++) {
console.log(Math.random());
}
Пример Java:
import java.util.Random;
public class RandomNumberGenerator {
public static void main(String[] args) {
Random random = new Random();
for (int i = 0; i < 100; i++) {
System.out.println(random.nextDouble());
}
}
}
Пример C++:
#include <iostream>
#include <random>
int main() {
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_real_distribution<> dis(0.0, 1.0);
for (int i = 0; i < 100; i++) {
std::cout << dis(gen) << std::endl;
}
return 0;
}
Метод 2: масштабирование случайных целых чисел
Пример Python:
import random
for _ in range(100):
print(random.randint(0, 1000000) / 1000000)
Пример JavaScript:
for (let i = 0; i < 100; i++) {
console.log(Math.floor(Math.random() * 1000000) / 1000000);
}
Пример Java:
import java.util.Random;
public class RandomNumberGenerator {
public static void main(String[] args) {
Random random = new Random();
for (int i = 0; i < 100; i++) {
System.out.println(random.nextInt(1000000) / 1000000.0);
}
}
}
Пример C++:
#include <iostream>
#include <random>
int main() {
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_int_distribution<> dis(0, 1000000);
for (int i = 0; i < 100; i++) {
std::cout << dis(gen) / 1000000.0 << std::endl;
}
return 0;
}
Метод 3: использование криптографических библиотек
Пример Python (с использованием модуля secrets
):
import secrets
for _ in range(100):
print(secrets.randbelow(1000000) / 1000000)
Пример JavaScript (с использованием модуля crypto
в Node.js):
const crypto = require('crypto');
for (let i = 0; i < 100; i++) {
console.log(crypto.randomInt(1000000) / 1000000);
}
Пример Java (с использованием java.security.SecureRandom
):
import java.security.SecureRandom;
public class RandomNumberGenerator {
public static void main(String[] args) {
SecureRandom random = new SecureRandom();
for (int i = 0; i < 100; i++) {
System.out.println(random.nextInt(1000000) / 1000000.0);
}
}
}
Пример C++ (с использованием библиотеки botan
):
#include <iostream>
#include <botan/auto_rng.h>
int main() {
Botan::AutoSeeded_RNG rng;
for (int i = 0; i < 100; i++) {
std::cout << rng.next_byte() / 255.0 << std::endl;
}
return 0;
}
В этой статье мы рассмотрели различные методы генерации случайных чисел от 0,0 до 1,0 в популярных языках программирования, таких как Python, JavaScript, Java и C++. Мы рассмотрели использование встроенных библиотечных функций, масштабирование случайных целых чисел и использование криптографических библиотек. В зависимости от ваших конкретных требований вы можете выбрать метод, который наилучшим образом соответствует вашим потребностям. Генерация случайных чисел – это универсальный инструмент, который можно использовать во многих приложениях.