fork download
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. // Возвращает наименьший (первый) простой делитель целого числа x
  6. int first_divider(int x);
  7.  
  8. int main()
  9. {
  10. int val;
  11. cin >> val;
  12.  
  13. int frst_div = first_divider(val);
  14.  
  15. int count = 0;
  16. while (val % frst_div == 0) {
  17. ++count;
  18. val /= frst_div;
  19. }
  20.  
  21. cout << "Наименьший делитель равен " << frst_div << endl
  22. << "Кратность делителя равна " << count << endl;
  23. }
  24.  
  25. int first_divider(int x)
  26. {
  27. static constexpr int first_prime = 2;
  28. for (int i = first_prime; i <= x; ++i) {
  29. if (x % i == 0)
  30. return i;
  31. }
  32. }
Success #stdin #stdout 0s 4164KB
stdin
2465361
stdout
Наименьший делитель равен 3
Кратность делителя равна 2