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 pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări suplimentare sau nevoie de ajutor, vă rugăm să ne contactați cu încredere. Așteptăm cu drag să reveniți și nu uitați să ne salvați în lista dumneavoastră de favorite!