Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- int main()
- {
- long long x;
- long long y;
- double z;
- int q;
- int s=0;
- int t=1;
- int u=1;
- int v=0;
- long long ax; //Für Ausgabezwecke des x-Wertes
- long long ay; //Für Ausgabezwecke des y-Wertes
- printf("Bitte geben Sie den Wert fuer x ein:\n ");
- scanf("%lld", &x);
- printf("Bitte geben Sie den Wert fuer y ein:\n ");
- scanf("%lld", &y);
- ax=x;
- ay=y;
- //Wertetausch, sodass x der größere Wert ist
- if (y>x)
- {
- z=x;
- x=y;
- y=z;
- }
- do
- {
- z=x/y;
- q=z;
- if (z==q&&y>1) //Überprüfung ob die Zahlen direkt teilbar sind
- {
- t=q;
- printf("s(%d) * x(%lld) + t(%d) * y(%lld) = gcd(%lld,%lld)(%d)", s, ax, t, ay, ax, ay, q);
- break;
- }
- else if (y>1) //Programmdurchlauf - runter rechnen
- {
- x=x-q*y;
- s=u-q*s;
- t=v-q*t;
- u=s;
- v=t;
- }
- else //wenn fertig gerechnet also ein wert 1 ist ergebniss ausgeben
- {
- printf("s(%d) * x(%lld) + t(%d) * y(%lld) = gcd(%lld,%lld)(1)", s, ax, t, ay, ax, ay);
- break;
- }
- z=y/x;
- q=z;
- if (z==q&&x>1) //Überprüfung ob die Zahlen direkt teilbar sind
- {
- printf("s(%d) * x(%lld) + t(%d) * y(%lld) = gcd(%lld,%lld)(%d)", s, ax, t, ay, ax, ay, q);
- break;
- }
- else if (x>1) //Programmdurchlauf - runter rechnen
- {
- y=y-q*x;
- s=u-q*s;
- t=v-q*t;
- u=s;
- v=t;
- }
- else //wenn fertig gerechnet also ein wert 1 ist ergebniss ausgeben
- {
- printf("s(%d) * x(%lld) + t(%d) * y(%lld) = gcd(%lld,%lld)(1)", s, ax, t, ay, ax, ay);
- break;
- }
- }
- while (x!=0||y!=0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement