Sunteți pe pagina 1din 8

4,9, 14, 19, 24, 29, 32.

Probleme spre rezolvare


PAPP_231Pcrisacari Cristian.

Problema 4
#include <iostream>

int main() {

int numar;

std::cout << "Introduceti un numar intreg pozitiv: ";

std::cin >> numar;

std::cout << "Divizorii lui " << numar << " sunt: ";

for (int i = 1; i <= numar; ++i) {

if (numar % i == 0) {

std::cout << i << " ";

std::cout << std::endl;

return 0;

}
Problema 9

#include <iostream>

#include <iomanip>

int main() {

const int numar_luni = 12;

int temperatura, suma_pozitive = 0, suma_negative = 0;

int contor_pozitive = 0, contor_negative = 0;

for (int i = 1; i <= numar_luni; ++i) {

std::cout << "Introduceti temperatura pentru luna " << i << ": ";

std::cin >> temperatura;

if (temperatura >= 0) {

suma_pozitive += temperatura;

contor_pozitive++;

} else {

suma_negative += temperatura;

contor_negative++;

if (contor_pozitive > 0) {

double medie_poz = static_cast<double>(suma_pozitive) / contor_pozitive;

std::cout << "medie_poz=" << std::fixed << std::setprecision(2) << medie_poz << " ";

} else {

std::cout << "medie_poz=0.00 ";

if (contor_negative > 0) {

double medie_neg = static_cast<double>(suma_negative) / contor_negative;

std::cout << "medie_neg=" << std::fixed << std::setprecision(2) << medie_neg << std::endl;

} else {
std::cout << "medie_neg=0.00" << std::endl;

return 0;

Problema 14.

#include <iostream>

int main() {

int lungime1, lungime2;

std::cout << "Introduceti lungimea primei laturi (0-9): ";

std::cin >> lungime1;

std::cout << "Introduceti lungimea celei de-a doua laturi (0-9): ";

std::cin >> lungime2;

if (lungime1 < 0 || lungime1 >= 10 || lungime2 < 0 || lungime2 >= 10) {


std::cerr << "Lungimile introduse nu sunt valide. Programul se va încheia." << std::endl;

return 1; // Cod de eroare

for (int i = 0; i < lungime1; ++i) {

for (int j = 0; j < lungime2; ++j) {

std::cout << (i + j) % 10 + 1;

std::cout << std::endl;

return 0;

Problema 19.
#include <iostream>

int main() {

int numar, sumaPare = 0, sumaImpare = 0, numarTotal = 0;

while (true) {

std::cout << "Introduceti un numar (0 pentru a opri): ";

std::cin >> numar;

if (numar == 0) {

break;

}
numarTotal++;

if (numar % 2 == 0) {

sumaPare += numar;

} else {

sumaImpare += numar;

std::cout << "Suma numerelor pare: " << sumaPare << std::endl;

std::cout << "Suma numerelor impare: " << sumaImpare << std::endl;

std::cout << "Numar total de numere introduse: " << numarTotal << std::endl;

return 0;

Problema 24.
#include <iostream>

#include <climits>

int main() {

int numar, suma = 0;

int maxNumar = INT_MIN;

int minNumar = INT_MAX;

std::cout << "Introduceti numere intregi pozitive pana cand suma devine divizibila cu 3." << std::endl;

while (true) {
std::cout << "Introduceti un numar intreg pozitiv (0 pentru a opri): ";

std::cin >> numar;

if (numar == 0) {

break;

suma += numar;

maxNumar = std::max(maxNumar, numar);

minNumar = std::min(minNumar, numar);

std::cout << "max=" << maxNumar << " min=" << minNumar << std::endl;

return 0;

Problema 32
#include <iostream>

int main() {

int a, b, c;

std::cout << "Introduceti trei numere intregi pozitive mai mici ca 10000: ";

std::cin >> a >> b >> c;


if (a <= 0 || b <= 0 || c <= 0 || a >= 10000 || b >= 10000 || c >= 10000) {

std::cerr << "Numerele introduse nu sunt valide. Programul se va incheia." << std::endl;

return 1;

int maxSumaNumar = (a % 10 + a / 10 > b % 10 + b / 10) ? ((a % 10 + a / 10 > c % 10 + c / 10) ? a : c) : ((b % 10 + b / 10 > c % 10 + c / 10) ? b : c);

std::cout << "a. Numarul cu suma cifrelor maxima: " << maxSumaNumar << std::endl;

int maxProdusNumar = ((a % 10) * (a / 10) > (b % 10) * (b / 10)) ? (((a % 10) * (a / 10) > (c % 10) * (c / 10)) ? a : c) : (((b % 10) * (b / 10) > (c %
10) * (c / 10)) ? b : c);

std::cout << "b. Numarul cu produsul cifrelor maxim: " << maxProdusNumar << std::endl;

int multipluComun = a;

while (multipluComun % b != 0 || multipluComun % c != 0) {

multipluComun += a;

std::cout << "c. Multiplul comun al acestor numere: " << multipluComun << std::endl;

return 0;

Problema29
#include <iostream>

int main() {

std::cout << "Tripletele de numere intregi pozitive a, b, c, mai mici decat 20, cu a^2 + b^2 = c^2 sunt:\n";
for (int a = 1; a < 20; ++a) {

for (int b = 1; b < 20; ++b) {

for (int c = 1; c < 20; ++c) {

if (a * a + b * b == c * c) {

std::cout << "a = " << a << ", b = " << b << ", c = " << c << "\n";

return 0;

S-ar putea să vă placă și