Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Semrush - keyword research tool

Turn ChatGPT, Claude, Gemini, And CoPilot Into Your Personal Assistant, Business Coach, Content Creator, And More

AFFILIATE MARKETING Your all-in-one performance engine Manage affiliates, creators, and customer referrals in one unified platform—turning every partnership into measurable growth
Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

42,683 questions

55,435 answers

573 users

How to generate random Powerball lottery numbers (pick 5 numbers from 1-69 + 1 Powerball from 1-26) in C++

1 Answer

0 votes
#include <iostream>
#include <random>
#include <set>
#include <vector>
#include <algorithm> // sort

/*
    Generate random Powerball lottery numbers:
        - 5 distinct numbers from 1–69
        - 1 Powerball number from 1–26

    This program uses:
        - <random> for modern C++ random number generation
        - std::set to ensure unique main numbers
        - std::uniform_int_distribution for clean, safe RNG
*/

/*
    generateMainNumbers():
    Generates 5 UNIQUE numbers in the range [1, 69].
    Uses std::set to automatically enforce uniqueness.
*/
std::vector<int> generateMainNumbers(std::mt19937 &rng) {
    std::uniform_int_distribution<int> dist(1, 69);
    std::set<int> numbers;

    while (numbers.size() < 5) {
        numbers.insert(dist(rng));
    }

    // Convert set → vector and sort for nice output
    std::vector<int> result(numbers.begin(), numbers.end());
    std::sort(result.begin(), result.end());
    
    return result;
}

/*
    generatePowerball():
    Generates a single number in the range [1, 26].
*/
int generatePowerball(std::mt19937 &rng) {
    std::uniform_int_distribution<int> dist(1, 26);

    return dist(rng);
}

int main() {
    // Use a high‑quality random seed
    std::random_device rd;
    std::mt19937 rng(rd());

    // Generate numbers
    std::vector<int> mainNumbers = generateMainNumbers(rng);
    int powerball = generatePowerball(rng);

    // Output results
    std::cout << "Random Powerball numbers:\n";
    std::cout << "Main numbers: ";
    for (int n : mainNumbers) {
        std::cout << n << " ";
    }
    std::cout << "\nPowerball: " << powerball << "\n";
}


/*
run:

Random Powerball numbers:
Main numbers: 15 20 25 39 61 
Powerball: 18

*/

 



answered Jul 29 by avibootz

Related questions

...