Răspuns :
1. **Verificare număr perfect cu 3 cifre:**
```cpp
#include
using namespace std;
int main() {
int n;
cout << "Introduceti un numar natural: ";
cin >> n;
if (n >= 100 && n <= 999) {
int sumaCifre = (n % 10) + ((n / 10) % 10) + (n / 100);
int produsCifre = (n % 10) * ((n / 10) % 10) * (n / 100);
if (sumaCifre == produsCifre) {
cout << "Numarul " << n << " este perfect." << endl;
} else {
cout << "Numarul " << n << " nu este perfect." << endl;
}
} else {
cout << "Numarul nu are exact 3 cifre." << endl;
}
return 0;
}
```
2. **Verificare numere pitagorice:**
```cpp
#include
#include
using namespace std;
int main() {
int a, b, c;
cout << "Introduceti 3 numere naturale: ";
cin >> a >> b >> c;
if (pow(a, 2) + pow(b, 2) == pow(c, 2) || pow(b, 2) + pow(c, 2) == pow(a, 2) || pow(c, 2) + pow(a, 2) == pow(b, 2)) {
cout << "Numere pitagorice." << endl;
} else {
cout << "Nu sunt numere pitagorice." << endl;
}
return 0;
}
```
3. **Verificare și manipulare cifre:**
```cpp
#include
#include
using namespace std;
int main() {
int n;
cout << "Introduceti un numar natural: ";
cin >> n;
if (n >= 10 && n <= 99) {
int cifraZeci = n / 10;
int cifraUnitati = n % 10;
cout << "Cifrele in ordine crescatoare: " << min(cifraZeci, cifraUnitati) << " " << max(cifraZeci, cifraUnitati) << endl;
} else if (n >= 100 && n <= 999) {
int cifraSute = n / 100;
int cifraZeci = (n / 10) % 10;
int cifraUnitati = n % 10;
int invers = cifraUnitati * 100 + cifraZeci * 10 + cifraSute;
cout << "Numarul cu cifrele inversate: " << invers << endl;
} else if (n >= 1 && n <= 9) {
if (n % 2 == 0) {
cout << "Cifra poate fi scrisa ca suma de doua numere consecutive." << endl;
} else {
cout << "Cifra nu poate fi scrisa ca suma de doua numere consecutive." << endl;
}
} else {
cout << "Numarul are un numar incorect de cifre." << endl;
}
return 0;
}
```
4. **Comparare numere pare și impare:**
```cpp
#include
using namespace std;
int main() {
int a, b, c;
cout << "Introduceti trei numere naturale: ";
cin >> a >> b >> c;
int numerePare = 0;
int numereImpare = 0;
if (a % 2 == 0) {
numerePare++;
} else {
numereImpare++;
}
if (b % 2 == 0) {
numerePare++;
} else {
numereImpare++;
}
if (c % 2 == 0) {
numerePare++;
} else {
numereImpare++;
}
if (numerePare > numereImpare) {
cout << "Mai multe numere pare." << endl;
} else if (numereImpare > numerePare) {
cout << "Mai multe numere impare." << endl;
} else {
cout << "Numerele sunt egale ca numar de pare si impare." << endl;
}
return 0;
}
```
5. **Verificare triunghi:**
```cpp
#include
using namespace std;
int main() {
double a, b, c;
cout << "Introduceti trei numere reale pozitive: ";
cin >> a >> b >> c;
if (a + b > c && a + c > b && b + c > a) {
if (a == b && b == c) {
cout << "Triunghi echilateral." << endl;
} else if (a == b || b == c || a == c) {
cout << "Triunghi isoscel." << endl;
} else if (pow(a, 2) + pow(b, 2) == pow(c, 2) || pow(b, 2) + pow(c, 2) == pow(a, 2) || pow(c, 2) + pow(a, 2) == pow(b, 2)) {
cout << "Triunghi dreptunghic." << endl;
} else {
cout << "Triunghi oarecare." << endl;
}
} else {
cout << "Nu se poate forma un triunghi cu aceste laturi." << endl;
}
return 0;
}
```
Acestea sunt soluțiile pentru temele date. Dacă aveți întrebări suplimentare sau aveți nevoie de clarificări, nu ezitați să întrebați.
```cpp
#include
using namespace std;
int main() {
int n;
cout << "Introduceti un numar natural: ";
cin >> n;
if (n >= 100 && n <= 999) {
int sumaCifre = (n % 10) + ((n / 10) % 10) + (n / 100);
int produsCifre = (n % 10) * ((n / 10) % 10) * (n / 100);
if (sumaCifre == produsCifre) {
cout << "Numarul " << n << " este perfect." << endl;
} else {
cout << "Numarul " << n << " nu este perfect." << endl;
}
} else {
cout << "Numarul nu are exact 3 cifre." << endl;
}
return 0;
}
```
2. **Verificare numere pitagorice:**
```cpp
#include
#include
using namespace std;
int main() {
int a, b, c;
cout << "Introduceti 3 numere naturale: ";
cin >> a >> b >> c;
if (pow(a, 2) + pow(b, 2) == pow(c, 2) || pow(b, 2) + pow(c, 2) == pow(a, 2) || pow(c, 2) + pow(a, 2) == pow(b, 2)) {
cout << "Numere pitagorice." << endl;
} else {
cout << "Nu sunt numere pitagorice." << endl;
}
return 0;
}
```
3. **Verificare și manipulare cifre:**
```cpp
#include
#include
using namespace std;
int main() {
int n;
cout << "Introduceti un numar natural: ";
cin >> n;
if (n >= 10 && n <= 99) {
int cifraZeci = n / 10;
int cifraUnitati = n % 10;
cout << "Cifrele in ordine crescatoare: " << min(cifraZeci, cifraUnitati) << " " << max(cifraZeci, cifraUnitati) << endl;
} else if (n >= 100 && n <= 999) {
int cifraSute = n / 100;
int cifraZeci = (n / 10) % 10;
int cifraUnitati = n % 10;
int invers = cifraUnitati * 100 + cifraZeci * 10 + cifraSute;
cout << "Numarul cu cifrele inversate: " << invers << endl;
} else if (n >= 1 && n <= 9) {
if (n % 2 == 0) {
cout << "Cifra poate fi scrisa ca suma de doua numere consecutive." << endl;
} else {
cout << "Cifra nu poate fi scrisa ca suma de doua numere consecutive." << endl;
}
} else {
cout << "Numarul are un numar incorect de cifre." << endl;
}
return 0;
}
```
4. **Comparare numere pare și impare:**
```cpp
#include
using namespace std;
int main() {
int a, b, c;
cout << "Introduceti trei numere naturale: ";
cin >> a >> b >> c;
int numerePare = 0;
int numereImpare = 0;
if (a % 2 == 0) {
numerePare++;
} else {
numereImpare++;
}
if (b % 2 == 0) {
numerePare++;
} else {
numereImpare++;
}
if (c % 2 == 0) {
numerePare++;
} else {
numereImpare++;
}
if (numerePare > numereImpare) {
cout << "Mai multe numere pare." << endl;
} else if (numereImpare > numerePare) {
cout << "Mai multe numere impare." << endl;
} else {
cout << "Numerele sunt egale ca numar de pare si impare." << endl;
}
return 0;
}
```
5. **Verificare triunghi:**
```cpp
#include
using namespace std;
int main() {
double a, b, c;
cout << "Introduceti trei numere reale pozitive: ";
cin >> a >> b >> c;
if (a + b > c && a + c > b && b + c > a) {
if (a == b && b == c) {
cout << "Triunghi echilateral." << endl;
} else if (a == b || b == c || a == c) {
cout << "Triunghi isoscel." << endl;
} else if (pow(a, 2) + pow(b, 2) == pow(c, 2) || pow(b, 2) + pow(c, 2) == pow(a, 2) || pow(c, 2) + pow(a, 2) == pow(b, 2)) {
cout << "Triunghi dreptunghic." << endl;
} else {
cout << "Triunghi oarecare." << endl;
}
} else {
cout << "Nu se poate forma un triunghi cu aceste laturi." << endl;
}
return 0;
}
```
Acestea sunt soluțiile pentru temele date. Dacă aveți întrebări suplimentare sau aveți nevoie de clarificări, nu ezitați să întrebați.
#include <iostream>
using namespace std;
int main(){
int n;
cin >> n;
// vom calcula suma divizorilor.
// Folosim faptul ca divizorii sunt in pereche:
// daca d este divizor, si n/d este divizor
int s = 0 , d;
for(d=1 ; d * d < n ; ++ d)
if(n % d == 0)
s += d + n / d;
if(d * d == n)
s += d;
// verificam daca s este egal cu dublul lui n
if(2 * n == s && n>99 && n<1000)
cout << n << " este perfect si are 3 cifre" << endl;
else
cout << n << " nu este perfect sau nu are 3 cifre" << endl;
return 0;
}
Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile disponibile v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de sprijin, nu ezitați să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la favorite pentru acces rapid.