Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- #include <thread>
- #include <vector>
- using namespace std;
- bool nuberFound = false;
- void getDivCount(int number) {
- if (sqrt(number) != (int)sqrt(number)) {
- int divCount = 0;
- int lastDiv = 2;
- int lookingAt = 2;
- while (lookingAt < number) {
- if (number % lookingAt == 0) {
- divCount++;
- lastDiv = lookingAt;
- if (divCount > 1600) break;
- }
- cout << "num: " << number << " | divCount: " << divCount << " | lastDiv: " << lastDiv << " | lookingAt: " << lookingAt << "\r";
- lookingAt++;
- }
- cout << endl;
- if (divCount == 1600) {
- cout << "last divisor: " << lastDiv;
- cout << "\n\n\nDone!";
- exit(0);
- }
- }
- }
- int main() {
- int number = 2095133040;
- vector<thread> threads;
- while (!nuberFound) {
- if (threads.size() > 100) {
- threads[threads.size() - 1].join();
- threads.pop_back();
- }
- threads.push_back(thread(getDivCount, number));
- number++;
- if (nuberFound) {
- for (thread& t : threads) {
- t.detach();
- }
- break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement