Documente Academic
Documente Profesional
Documente Cultură
h>
int main() {
int op;
while (1) {
printf("\n\nOptiuni:\n");
printf("1. Afisarea maximului dintre n numere\n");
printf("2. Afisarea numerelor prime mai mici sau egale cu n\n");
printf("3. Descompunerea unui numar in factori primi\n");
printf("4. Cel mai mare divizor comun si cel mai mic multiplu comun a doua numere\n");
printf("5. Suma si cifra de control a unui numar\n");
printf("6. Reprezentarea unui numar in baza b\n");
printf("7. Conversia unui numar din baza b in baza 10\n");
printf("8. Suma 1 + 1*2 + 1*2*3 + ... + 1*2*...*n\n");
printf("9. Numere consecutive terminate cu aceeasi cifra\n");
printf("10. Primele n numere din sirul lui Fibonacci\n");
printf("11. Parasirea programului\n");
switch (op) {
case 1:
citireMaxNumere();
break;
case 2:
afisareNumerePrime();
break;
case 3:
descompunereFactoriPrimi();
break;
case 4:
calculareCMMDCsiCMMC();
break;
case 5:
calculareSumaCifraControl();
break;
case 6:
convertireBazaB();
break;
case 7:
convertireDinBazaB();
break;
case 8:
calculareSumaProdusFactori();
break;
case 9:
numereConsecutiveTerminareAceeasiCifra();
break;
case 10:
afisarePrimeleNumereFibonacci();
break;
case 11:
printf("La revedere!\n");
return 0;
default:
printf("Optiune invalida!\n");
}
}
return 0;
}
void citireMaxNumere() {
int n, i, max;
printf("Introduceti numarul de numere: ");
scanf("%d", &n);
printf("\n");
}
void descompunereFactoriPrimi() {
int n, i;
printf("\n");
}
void calculareCMMDCsiCMMC() {
int a, b, i, cmmdc, cmmsc;
cmmdc = 1;
for (i = 2; i <= a && i <= b; i++) {
while (a % i == 0 && b % i == 0) {
cmmdc *= i;
a /= i;
b /= i;
}
}
cmmsc = a * b * cmmdc;
suma = 0;
while (n > 0) {
suma += n % 10;
n /= 10;
}
if (b < 10) {
printf("Reprezentarea numarului %d in baza %d este: ", n, b);
while (n > 0) {
printf("%d", n % b);
n /= b;
putere *= 10;
}
for (i = putere; i > 1; i /= 10) {
printf("0");
}
printf("\n");
} else {
printf("Baza introdusa trebuie sa fie mai mica decat 10!\n");
}
}
void convertireDinBazaB() {
int n, b, i, valoare = 0, putere = 1;
if (b != 10) {
while (n > 0) {
valoare += (n % 10) * putere;
n /= 10;
putere *= b;
}
printf("Valoarea numarului in baza 10 este: %d\n", valoare);
} else {
printf("Baza introdusa nu trebuie sa fie 10!\n");
}
}
void calculareSumaProdusFactori() {
int n, i, j, suma = 0, produs;
while (numarAnterior != 0) {
scanf("%d", &numarCurent);
if (numarAnterior % 10 == numarCurent % 10) {
perechiConsecutive++;
}
numarAnterior = numarCurent;
}
printf("\n");
}