Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- bool MutualSimple(int a, int b) //лень думать, нашла на просторах инета
- {
- a=abs(a); b=abs(b);
- if (a==1||b==1) //логично что единицы подходят ибо главное чтоб общий делитель =1
- return true;
- if (a==b)
- return false;
- for (int j=2; j<((a>b)?a:b); j++)//с двух, пока j меньше чем (если а>b то а иначе b)
- {
- if (( !(b%j) )&&( !(a%j) )) //ыыыыыыыыы
- return false;
- }
- return true;
- }
- int change(int n,int m){
- int k=n; //сохранили тут н
- int l=m; //а тут м
- int d=0;
- while(n>=10){ //типа пока н больше 10 т.е. пока не осталась одна цифра
- int ch=n%10; //берем по цифре
- n=n/10;
- for(int i=1;i<l;i*10){ //и подставляем вместо цифр м
- m=(m/(i*10))*i+m%i+ch*i; //берём первые цифры, подставленную, остальные цифры
- if(MutualSimple(m,k)) {
- d=1;
- break;//типа если взаимно простые - выходим из цикла(вроде как)
- }
- if(d) break;
- }
- }
- return d;
- }
- int main(){
- int m=change(17,28);
- cout<<m;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement