Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- unsigned int massimo_comun_divisore(int , int);
- int main()
- {
- int a, b;
- unsigned int mcd, mcm;
- printf("Inserisci a:");
- scanf("%u", &a);
- printf("Inserisci b:");
- scanf("%u", &b);
- if (a < 0 || b < 0 || (a == 0 && b == 0)) {
- printf("Valori non validi\n");
- return -1;
- } else {
- mcd = massimo_comun_divisore(a, b);
- mcm = a*b/mcd;
- printf("MCD = %u, mcm = %u\n", mcd, mcm);
- }
- return 0;
- }
- int calcola_massimo(int x, int y)
- {
- return (x > y) ? x : y;
- }
- unsigned int massimo_comun_divisore(int a, int b)
- {
- unsigned int mcd;
- int c = calcola_massimo(a, b);
- int d = - calcola_massimo(-a, -b);
- if (d == 0) {
- mcd = c;
- } else {
- int q = c/d;
- int r = c%d;
- c = d;
- d = r;
- mcd = massimo_comun_divisore(c, d);
- }
- return mcd;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement