Un număr natural nenul este prim, dacă are exact doi divizori (ex. 7).
Un număr natural nenul se va numi pătrat prim, dacă este pătratul unui număr prim (ex. 49 = 7 * 7).
Un număr natural nenul se va numi aproape prim, dacă este produsul a două numere prime distincte (ex. 10 = 2 * 5).
Un număr natural nenul ce nu se încadrează în niciuna din cazurile de mai sus, se numeşte compus (ex. 8=2*2*2, 100=2*2*5*5).
Se citeşte un număr natural n. Să se identifice din ce categorie de mai sus face parte.
pls in c++ fara vectori
dau coroana
marius7710:
poti sa iti spun algoritmul ,iar tu sa scrii codul
Răspunsuri la întrebare
Răspuns de
0
#include <iostream>
using namespace std;
int main() {
int n, ndiv=0;
bool patrat = 0, aproapeprim = 0;
cout << "Introduceti n :";
cin >> n;
int div = 0;
for (int i = 1; i <= n / 2; i++) {
if (n%i == 0) {
ndiv++;
div = i;
}
if (i*i==n)
patrat = 1;
}
if (ndiv == 3) {
aproapeprim = 1;
int div2 = n / div;
for (int j = 2; j <= div / 2; j++) {
if (div%j == 0)
aproapeprim = 0;
}
for (int j = 2; j <= div2 / 2; j++) {
if (div2%j == 0)
aproapeprim = 0;
}
}
cout << endl;
if (ndiv == 1) cout << "Numarul e prim";
else if (patrat) cout << "Numarul e patrat perfect";
else if (aproapeprim == 1 ) cout << "Numarul e aproape prim";
else cout << "Numarul e compus";
return 0;
}
Anexe:
Fara vectori, fara functii.
Scris si testat in Visual Studio
Alte întrebări interesante
Geografie,
8 ani în urmă
Matematică,
8 ani în urmă
Chimie,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă