SHARE
TWEET

Untitled

a guest Dec 8th, 2019 72 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main() {
  5.     unsigned a, b, c;
  6.     cout << "a*x + b*y = 0 (mod c)" << endl;
  7.     cout << "a=";
  8.     cin >> a;
  9.     cout << "b=";
  10.     cin >> b;
  11.     cout << "c=";
  12.     cin >> c;
  13.     int x=0;
  14.     int y=0;
  15.     unsigned MCD;
  16.     unsigned temp;
  17.     if (a <= c) { temp = c, MCD=a; }
  18.     else temp = a, MCD=c;
  19.  
  20.     if (a <= c) {
  21.         while (a > 0) {
  22.             unsigned temp1 = a;
  23.             a = temp % temp1;
  24.             temp = temp1;
  25.         }
  26.         a = MCD;
  27.         MCD = temp;
  28.     }
  29.  
  30.     if (c <= a) {
  31.         while (c > 0) {
  32.             unsigned temp1 = c;
  33.             c = temp % temp1;
  34.             temp = temp1;
  35.         }
  36.         c = MCD;
  37.         MCD = temp;
  38.     }
  39.    
  40.  
  41.     if (b % MCD != 0 ) { cout << "Can't be solved." << endl; return 0; }
  42.  
  43.     cout << "a=" << a << " b=" << b << " c=" << c << endl;
  44.     cout << "MCD=" << MCD << endl;
  45.  
  46.     bool over = false;
  47.  
  48.     if (a > b) {
  49.         for (int i = 0; i < c; i++) {
  50.             for (int j = 0; j < c; j++) {
  51.                 if (((a * i + b * j) % c == 0) && (j != 0 || i != 0)) {
  52.                     x = i; y = j;
  53.                     over = true;
  54.                     break;
  55.                 }
  56.             }
  57.             if (over == true) { break; }
  58.         }
  59.     }
  60.     else if(b > a)
  61.     {
  62.         for (int i = 0; i < c; i++) {
  63.             for (int j = 0; j < c; j++) {
  64.                 if (((a * j + i * b) % c == 0) && (j != 0 || i != 0)) {
  65.                     x = j;
  66.                     y = i;
  67.                     over = true;
  68.                     break;
  69.                 }
  70.             }
  71.             if (over==true) { break; }
  72.         }
  73.     }
  74.  
  75.  
  76.     cout << " y=" << y << " x=" << x << endl;
  77.     cout << a << "*" << x << " + " << b << "*" << y << " = 0 mod(" << c << ")" << endl;
  78.     return 0;
  79. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top