#include <iostream>
#include <vector>
#include <string>
#include <cstdlib>
#include <ctime>
// Generate a random 6‑digit number
int generateSixDigit() {
return 100000 + rand() % 900000;
}
// Generate a random digit (0–9)
int generateDigit() {
return rand() % 10;
}
// Check if a number contains a specific digit
bool containsDigit(int number, int digit) {
std::string s = std::to_string(number);
char d = '0' + digit;
return s.find(d) != std::string::npos;
}
// Check if number contains all 3 digits
bool containsAllDigits(int number, int d1, int d2, int d3) {
return containsDigit(number, d1) &&
containsDigit(number, d2) &&
containsDigit(number, d3);
}
// Generate a list of random 6‑digit numbers
std::vector<int> generateList(int count) {
std::vector<int> list;
list.reserve(count);
for (int i = 0; i < count; i++)
list.push_back(generateSixDigit());
return list;
}
int main() {
srand(time(nullptr));
// Generate list of numbers
int count = 20; // you can change this
std::vector<int> numbers = generateList(count);
// Generate 3 random digits
int d1 = generateDigit();
int d2 = generateDigit();
int d3 = generateDigit();
std::cout << "Random digits: " << d1 << " " << d2 << " " << d3 << "\n\n";
std::cout << "Generated numbers:\n";
for (int n : numbers)
std::cout << n << "\n";
std::cout << "\nNumbers containing ALL 3 digits:\n";
bool found = false;
for (int n : numbers) {
if (containsAllDigits(n, d1, d2, d3)) {
std::cout << n << "\n";
found = true;
}
}
if (!found)
std::cout << "None found.\n";
return 0;
}
/*
run:
Random digits: 2 3 1
Generated numbers:
552523
959720
701959
524902
727203
491066
209011
650592
666630
489982
547794
327124
808400
357284
930291
859282
770494
524429
844604
337064
Numbers containing ALL 3 digits:
327124
930291
*/