C++ или Си: Представить натуральное число N в виде произведения простых сомножителе

C++ или Си: Представить натуральное число N в виде произведения простых сомножителей.
Гость
Ответ(ы) на вопрос:
Гость
#include <iostream>#include <cstdlib>#include <vector>bool fPrime(int n){ for (int i = 2; i <= n / 2; i++) if (n%i == 0) return false; return true;}int main(){ int num, n, i, copy; std::vector<int> PrimDiv; std::cin >> num; copy = num; for (n = 2; n <= num / 2 && num != 0; n++) if (fPrime(n) == true) while (copy%n == 0) { PrimDiv.push_back(n); copy /= n; } std::cout << num << "="; if (PrimDiv.empty()) std::cout << num; else { for (i = 0; i<PrimDiv.size() - 1; i++) std::cout << PrimDiv[i] << "*"; std::cout << PrimDiv[PrimDiv.size() - 1]; } system("pause"); return 0;}
Не нашли ответ?
Ответить на вопрос
Похожие вопросы