Advertisement
Sabriel

FUUUU

Mar 30th, 2013
325
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.32 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3. bool MutualSimple(int a, int b) //лень думать, нашла на просторах инета
  4. {
  5.     a=abs(a); b=abs(b);
  6.     if (a==1||b==1) //логично что единицы подходят ибо главное чтоб общий делитель =1
  7.         return true;
  8.    
  9.     if (a==b)
  10.         return false;
  11.  
  12.     for (int j=2; j<((a>b)?a:b); j++)//с двух, пока j меньше чем (если а>b то а иначе b)
  13.     {
  14.         if (( !(b%j) )&&( !(a%j) )) //ыыыыыыыыы
  15.             return false;
  16.     }
  17.  
  18.     return true;
  19. }
  20.  
  21. int change(int n,int m){
  22.     int k=n; //сохранили тут н
  23.     int l=m; //а тут м
  24.     int d=0;
  25.     while(n>=10){   //типа пока н больше 10 т.е. пока не осталась одна цифра
  26.     int ch=n%10;    //берем по цифре
  27.     n=n/10;
  28.         for(int i=1;i<l;i*10){   //и подставляем вместо цифр м
  29.         m=(m/(i*10))*i+m%i+ch*i;    //берём первые цифры, подставленную, остальные цифры
  30.         if(MutualSimple(m,k)) {
  31.         d=1;
  32.         break;//типа если взаимно простые - выходим из цикла(вроде как)
  33.         }
  34.         if(d) break;
  35.         }
  36.     }
  37. return d;
  38. }
  39. int main(){
  40.     int m=change(17,28);
  41.     cout<<m;
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement