Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <math.h>
- int pom(int n, int k)
- {
- // l - length ili broj na cifri na brojot. temp - kopija na brojot za da se deli so 10
- int l=1, temp=n, fin;
- while(temp/=10)l++; //go deli temp so 10 dur ne stane 0 i go zgolemuva l za sekoja cifra skratena
- k%=l; //pomestuvanje 10 pati vo 3 cifren broj e isto kako pomestuvanje ednash (10%3==1)
- int bar=pow(10, l-k); //goleminata na desniot del shto podocna kje stane lev, l-k e brojot na cifri na ovoj del, 10^k
- fin=(pow(10, k)*(n%bar)+(n/bar)); //go mnozime desniot del (n%bar) so 10^k za da mu dademe nuli na krajot posle toa mu go dodavame formerly leviot del kako desen del.
- //primer: n=123456, k=2; bar=10^(6-2)=10000; n%bar= 3456 (desen); n/100 = 12 (lev); 3456*100= 345600+12 = 345612
- return fin;
- }
- int main()
- {
- int m, foon, fook;
- scanf("%d", &m);
- for(int i=0;i<m;i++)
- {
- scanf("%d%d", &foon,&fook);
- printf("%d\n", pom(foon, fook));
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment