Предмет: Информатика,
автор: elizabeth1990
C++ или Си: Представить натуральное число N в виде произведения простых сомножителей.
Ответы
Автор ответа:
0
#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;}
Автор ответа:
0
Постараюсь
Автор ответа:
0
Если не сложно - подпишись на меня - помогать и дальше буду
Автор ответа:
0
Ибо я так учусь)
Автор ответа:
0
+ я не сильно тебя растрою, если скажу, что это и есть с++
Автор ответа:
0
Зачем накапливать в векторе, если можно сразу выводить в выходной поток ?
Автор ответа:
0
#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
#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
Похожие вопросы
Предмет: Алгебра,
автор: rinatpodzalpsk
Предмет: Алгебра,
автор: gp5px3va9y
Предмет: Другие предметы,
автор: sasaskolar675
Предмет: Математика,
автор: sgffggst
Предмет: Алгебра,
автор: Hoax23