Please read the new rule regarding the restriction on the use of AI tools. ×

bilAktauAlmansur's blog

By bilAktauAlmansur, history, 3 years ago, In Russian

Факторизация — разложение числа на простые множители.

include <bits/stdc++.h>

using namespace std;

vector factors;

bool is_prime(int x) {

//эта функция проверяет, является ли введенное число простым

for (int i = 2; i <= sqrt(x); i++) {

    if (x % i == 0) {

        return false;

    }

}

return true;

}

void factorize(int x) {

//эта функция, и есть наша факторизация

for (int i=2; i<=sqrt(x); i++) {

    while (x%i==0) {

        factors.push_back(i);

        x/=i;

    }

}



if (x!=1) {

    factors.push_back(x);

}

}

int main () {

int n;

cin>>n;

bool ok=is_prime(n);

if (ok==false) {

    factorize(n);

    for(int i = 0; i < factors.size(); i++) { 

       //выводим разложение числа на простые множители

       cout << factors[i] << ' ';

    }

    cout << endl;

}else {

    //число является простым

    cout << -1 << endl;

}

}

  • Vote: I like it
  • +2
  • Vote: I do not like it