profile
Размещено 6 лет назад по предмету Информатика от elizabeth1990

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

  1. Ответ на вопрос
    Ответ на вопрос дан TBulas
    #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;}
    1. Ответ на вопрос
      Ответ на вопрос дан TBulas
      Постараюсь
    2. Ответ на вопрос
      Ответ на вопрос дан TBulas
      Если не сложно - подпишись на меня - помогать и дальше буду
    3. Ответ на вопрос
      Ответ на вопрос дан TBulas
      Ибо я так учусь)
    4. Ответ на вопрос
      Ответ на вопрос дан TBulas
      + я не сильно тебя растрою, если скажу, что это и есть с++
    5. Ответ на вопрос
      Ответ на вопрос дан srzontmp
      Зачем накапливать в векторе, если можно сразу выводить в выходной поток ?
  2. Ответ на вопрос
    Ответ на вопрос дан petyaGavrikov
    #include <iostream>
    #include <cmath>
    using namespace std;
    bool prost(int m){
    int k = 0;
    for (int i=2; i<=sqrt(m); i++)
    if (m % i == 0) k++;
    return k==0;
    }

    int main(){
        int n, r;
        int i = 1;
        cout << "n = ", cin >> n, cout << "n";
        if (prost(n)) {
        cout << "1 * " << n << " = " << n << "n";}
        else {
        r = n;
        while (r != 1){
        i++;
        if (prost(i)){
        while (r % i == 0){
        r = r / i;
        cout << i;
        if (r != 1) cout << "*";
        }
      }
      }
      cout << "=" << n << "n";
        }
    return 0;
    }

    Пример:
    n = 2720
    2*2*2*2*2*5*17=2720
Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 6 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.