Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- using namespace std;
- int main()
- {
- int c,k;
- int x;
- ifstream f("rotire25.in");
- f>>c>>x>>k;
- ofstream g("rotire25.out");
- if(c==1)
- {
- int ultima=x%10;
- if(ultima==2)
- switch(k%4)
- {
- case 0: ultima=6;break;
- case 1: ultima=2;break;
- case 2: ultima=4;break;
- case 3: ultima=8;break;
- }
- if(ultima==3)
- switch(k%4)
- {
- case 0: ultima=1;break;
- case 1: ultima=3;break;
- case 2: ultima=9;break;
- case 3: ultima=7;break;
- }
- if(ultima==7)
- switch(k%4)
- {
- case 0: ultima=1;break;
- case 1: ultima=7;break;
- case 2: ultima=9;break;
- case 3: ultima=3;break;
- }
- if(ultima==8)
- switch(k%4)
- {
- case 0: ultima=6;break;
- case 1: ultima=8;break;
- case 2: ultima=4;break;
- case 3: ultima=2;break;
- }
- while(x>9)
- x/=10;
- g<<ultima*x<<'\n';
- }
- else
- {
- int X1=-1,X2=-1;
- bool Ok5=true;
- while(x!=X2&&k)
- {
- X2=X1;
- X1=x;
- int sw=(Ok5?5:2); /// sw=un switch pentru a alterna transformarile
- x*=sw;
- int sol=0;
- while(x)
- {
- if(x%10)
- sol=sol*10+x%10;
- x/=10;
- }
- x=sol;
- --k;
- Ok5=!Ok5;
- }
- if(k%2)
- {
- int sw=(Ok5?5:2);
- x*=sw;
- int sol=0;
- while(x)
- {
- if(x%10)
- sol=sol*10+x%10;
- x/=10;
- }
- x=sol;
- }
- g<<x<<'\n';
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement